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科普

相关推荐
mahuifa2 分钟前
python实现usb热插拔检测(linux)
linux·服务器·python
MyhEhud30 分钟前
kotlin @JvmStatic注解的作用和使用场景
开发语言·python·kotlin
狐凄44 分钟前
Python实例题:pygame开发打飞机游戏
python·游戏·pygame
漫谈网络1 小时前
Telnet 类图解析
python·自动化·netdevops·telnetlib·网络自动化运维
农夫山泉2号2 小时前
【python】—conda新建python3.11的环境报错
python·conda·python3.11
ZHOU_WUYI3 小时前
Flask Docker Demo 项目指南
python·docker·flask
码上淘金7 小时前
【Python】Python常用控制结构详解:条件判断、遍历与循环控制
开发语言·python
Brilliant Nemo7 小时前
四、SpringMVC实战:构建高效表述层框架
开发语言·python
2301_787552878 小时前
console-chat-gpt开源程序是用于 AI Chat API 的 Python CLI
人工智能·python·gpt·开源·自动化
懵逼的小黑子8 小时前
Django 项目的 models 目录中,__init__.py 文件的作用
后端·python·django