V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dai269619118
V2EX  ›  程序员

python 用进程池抓取远程数据的时候程序会停止不动了

  •  
  •   dai269619118 · 2015-10-27 09:56:34 +08:00 · 2283 次点击
    这是一个创建于 3129 天前的主题,其中的信息可能已经有所发展或是发生改变。

    程序是时时抓取一些帖子的浏览量 每 5 分钟抓取一次。
    用的是 tornado 框架里面定时的方法
    tornado.ioloop.PeriodicCallback(doStart, 60000).start()
    每隔十天半个月 这个程序就会出现不会自动抓取了
    进程 ps 里还是能看到这个python的进程
    中间要是执行出现问题 后面的就不会再抓取数据了 好像程序一直卡住了
    刚开始以为是 pycurl 没有设置超时的问题,可是我设置了 还是会有这个问题
    不知道有什么原因了....大神们 帮忙看看

    rockivy
        1
    rockivy  
       2015-10-27 10:01:00 +08:00
    路过帮顶
    22too
        2
    22too  
       2015-10-27 10:05:57 +08:00   ❤️ 1
    弄不好就是底层的锅,不过 python 的网站,暂时没有遇到这个问题
    simpx
        3
    simpx  
       2015-10-27 11:12:35 +08:00   ❤️ 1
    pstack pid
    堆栈看看能不能判断出卡在哪儿了
    dai269619118
        4
    dai269619118  
    OP
       2015-10-27 12:31:59 +08:00
    @simpx 学习了 谢谢
    22too
        5
    22too  
       2015-10-27 12:35:04 +08:00
    之前有朋友做爬虫也遇到了,使用的是线程池,一天重启一次,所以你要你可能需要改变执行策略,比如定时执行之类的。而不是一直进行执行!
    dai269619118
        6
    dai269619118  
    OP
       2015-10-27 12:39:07 +08:00
    @22too 是的 就是用线程池 不行只能 crontab
    22too
        7
    22too  
       2015-10-27 14:37:07 +08:00
    朋友的代码我看了,代码没问题,但是跑到一定时间,就会不动了,也不是挂了。所以最后推荐使用一天一重启, crontab 值得拥有。
    dai269619118
        8
    dai269619118  
    OP
       2015-10-27 14:41:02 +08:00
    @22too 只能这样了 谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4359 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 09:59 · PVG 17:59 · LAX 02:59 · JFK 05:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.