我有一个使用urllib2执行URL请求的Python脚本。我有一个池子里有5个异步运行的进程,执行一个函数。这个函数是用来进行url调用、获取数据、解析数据到所需格式、执行计算和插入数据的。每个url请求的数据量都不同。
我使用cron作业每5分钟运行一次此脚本。有时候当我执行
这是我调用异步进程的方式:
我使用cron作业每5分钟运行一次此脚本。有时候当我执行
ps -ef | grep python
命令时,会看到卡住的进程。是否有一种方法可以跟踪这些进程,即在multiprocessing类中跟踪进程,它们的状态意味着完成、卡住或死亡等等?以下是代码片段:这是我调用异步进程的方式:
pool = Pool(processes=5)
pool.apply_async(getData, )
以下是getData的一部分,执行urllib2请求:
try:
Url = "http://gotodatasite.com"
data = urllib2.urlopen(Url).read().split('\n')
except URLError, e:
print "Error:",e.code
print e.reason
sys.exit(0)
有没有一种方法可以跟踪卡住的进程并重新运行它们?