Python进程池回调

进程池在进程 发生错误/正常结束时,回调

python 复制代码
import multiprocessing, time
from functools import partial

def worker(i):
    print(f"Worker process {i} started")
    if i == 5:
        raise Exception(f'{i} error occured(自定义异常)')
    time.sleep(5)  # 模拟一些工作

def call_back_with_args(unknown_args, p):
    print('call_back p:', p, unknown_args)

def error_callback(e):
    print('error_callback : ', type(e), e)

if __name__ == '__main__':
    with multiprocessing.Pool(processes=6) as pool:
        for i in range(6):
            pool.apply_async(worker, args=(i,),
                             callback=partial(call_back_with_args, p=i),
                             error_callback=error_callback)

        pool.close()  # 关闭进程池,不再接受新的任务
        # time.sleep(2)
        # pool.terminate()  # 停止进程池中的所有工作进程,但不等待它们完成
        pool.join()

partial科普

相关推荐
躺平的花卷1 小时前
Python爬虫案例六:抓取某个地区某月份天气数据并保存到mysql数据库中
数据库·爬虫·python·mysql
虚拟搬运工1 小时前
Python类及元类的创建流程
开发语言·chrome·python
学步_技术1 小时前
Python编码系列—Python原型模式:深克隆与高效复制的艺术
开发语言·python·原型模式
Desire.9842 小时前
Python 数学建模——灰色关联度分析
python·数学建模·灰色关联度
小鹿( ﹡ˆoˆ﹡ )2 小时前
Python中的树与图:构建复杂数据结构的艺术
开发语言·python
阡之尘埃2 小时前
Python数据分析案例59——基于图神经网络的反欺诈交易检测(GCN,GAT,GIN)
python·神经网络·数据挖掘·数据分析·图神经网络·反欺诈·风控大数据
xiaojiesec2 小时前
第157天: 安全开发-Python 自动化挖掘项目&SRC 目标&FOFA 资产&Web 爬虫解析库
python·安全
27划流星雨_2 小时前
from tqdm.auto import tqdm用法详细介绍
python
爱里承欢。2 小时前
【Python语言初识(二)】
python
hzw05102 小时前
Jupyter的使用
ide·python·jupyter