Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 453|回复: 0
打印 上一主题 下一主题

爬虫异常处理方法

[复制链接]

70

主题

88

帖子

1400

积分

金牌会员

Rank: 6Rank: 6

积分
1400
跳转到指定楼层
楼主
发表于 2016-7-21 00:19:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

1. 爬虫 接口报警
3. 结果从http://www.bejson.com/变成标准的json
{
    "crawler_flag": false,
    "queue_process": {
        "flag": true
    },
    "wait_stack": {
        "flag": true,
        "wait_queue": []
    },
    "engine_process": {
        "flag": true
    },
    "spider_process": {
        "flag": false,
        "spider": {
            "Moretv-HD-crawler-01-151.139": "alive",
            "Moretv-HD-crawler-02-151.148": "alive",
            "Moretv-HD-crawler-03-138.142": "alive",
            "Moretv-HD-crawler-04-138.140": "alive",
            "Moretv-BJUD-crawler-01": "alive",
            "Moretv-BJUD-crawler-03": "alive",
            "Moretv-BJUD-crawler-02": "alive",
            "moretv_IDA": "alive",
            "Moretv-HD-crawler-05-138.143": "dead"
        }
    },
    "cobweb_process": {
        "flag": true
    },
    "merge_process": {
        "flag": true
    }
}
crawler_flag为true,口正常。
crawler_flag为false,接口异常,需要人为干预处理。
         wait_stack为false,说明队列有堆积。需要找爬虫开发同事处理。一般都是等待队列自动处理完成
engine_process为false,需要马上通知爬虫开发同事处理。非常严重。
  spider_process为false,说明某个spider异常。由于开发新增了自动监控进程的服务,原则上不会再出现某个spider出现dead的情况。
  其它不常见问题暂时不说明。
Spider_process因为spider.py的程序由于正则或者其它原因导致内存泄露,最终挂掉。在监控上的报警为二种.
1. 内存少于100M
2. SWAP小于50%
由于开发新增了自动监控进程的服务,原则上挂掉的进程会自动重启,不会再出现某个spider出现dead的情况。
处理方法为
1. 连接到堡垒机,选择crawler
2. 选择有问题的spider机,个实例中为"Moretv-HD-crawler-05-151.143": "内存少于100M"
3. 选择root用户
4. 查看spider进程
    ps aux|grep python
5. Kill掉该 spider程(释放内存)
cd /home/moretv/spider
kill -9 29926
6. 再次查看进程,观察内存是否已释放。
7. 如果是SWAP告警的话还需要释放SWAP
     vmstat 1  查看swap内存使用情况
swapoff -a&&swapon -a (需要root账号)
再次vmstat 1 查看SWAP是否清空
PS:以上操作需要ROOT账号权限,请谨慎操作。
PS:以上操作需要ROOT账号权限,请谨慎操作。
PS:以上操作需要ROOT账号权限,请谨慎操作。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Comsenz Inc.

GMT+8, 2024-12-16 04:23 , Processed in 0.036157 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表