开发者社区> 问答> 正文

在父进程中捕获子进程异常

我正在创建多个分别运行搜寻器的进程。我想确保如果搜寻器进程中有某些异常,我能够在父进程中捕获它。这是流程创建代码:

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

展开
收起
is大龙 2020-03-24 12:33:12 1256 0
1 条回答
写回答
取消 提交回答
  • 你不能用Process对象来做到这一点。multiprocessing.Poolparallel.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

    2020-03-24 12:33:19
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
服务上云加速大家居产业C2M进程 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多