前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 进程超时控制 防止phantomjs假死

python 进程超时控制 防止phantomjs假死

作者头像
十四君
发布2019-11-28 18:49:33
2.2K0
发布2019-11-28 18:49:33
举报
文章被收录于专栏:UrlteamUrlteam

目前的程序结构是一个主进程控制50个线程进行数据采集,采集的请求方式使用开进程调用phantomjs去发出带浏览器处理能力的请求。

环境

linux  python 2.7

phantomjs

问题

phantomjs运作中卡死,导致调用其的线程长时间等待。

解决方案

用下代码将启动phantomjs的进程用做超时设置

代码语言:javascript
复制
import subprocess
from threading import Timer
import time
 
kill = lambda process: process.kill()
 
cmd = ["ping", "www.google.com"]
ping = subprocess.Popen(
    cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
 
my_timer = Timer(5, kill, [ping])
try:
    my_timer.start()
    stdout, stderr = ping.communicate()
    #print stdout
    print time.ctime()
finally:
    print time.ctime()
    my_timer.cancel()

原创文章,转载请注明: 转载自URl-team

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档