with open(FILENAME) as f:
current = int(f.read() or 0)
if current:
skip_lines(current)
try:
with Pool() as pool:
results = pool.imap(extract, data.file)
for result in results:
do_something(result)
current += 1
finally:
with open(FILENAME, "w") as f:
f.write(str(current))
一个非常简单的解决方案是使用一个文件来存储您的当前状态。使用try…finally来处理失败:
另请参见:'concurrent.futures`(比多处理池). 你知道吗
更好的解决方案是使用数据库来完全跟踪进度,和/或使用更好的任务队列(例如celery)来执行作业。你知道吗
相关问题 更多 >
编程相关推荐