我正在创建多个分别运行搜寻器的进程。我想确保如果搜寻器进程中有某些异常,我能够在父进程中捕获它。这是流程创建代码:
try:
caching_process = Process(target=run_crawler_process, args=(Config.CRAWLER_NAME, locations,
city_payloads_map, cycle_count))
caching_process.start()
except Exception as processException:
raise processException
问题来源:stackoverflow
你不能用Process
对象来做到这一点。multiprocessing.Pool
或parallel.futures.ProcessPoolExecutor
允许这样做。
pool = multiprocessing.Pool()
task = pool.apply_async(run_crawler_process, (Config.CRAWLER_NAME, locations,c ity_payloads_map, cycle_count))
try:
task.get()
except Exception as error:
print("Error while processing task: %s" % error)
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。