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

相关推荐
0wioiw030 分钟前
Python基础(Flask①)
后端·python·flask
飞翔的佩奇1 小时前
【完整源码+数据集+部署教程】食品分类与实例分割系统源码和数据集:改进yolo11-AggregatedAttention
python·yolo·计算机视觉·数据集·yolo11·食品分类与实例分割
OperateCode1 小时前
AutoVideoMerge:让二刷更沉浸的自动化视频处理脚本工具
python·opencv·ffmpeg
蔡俊锋1 小时前
Javar如何用RabbitMQ订单超时处理
java·python·rabbitmq·ruby
跟橙姐学代码1 小时前
学Python别死记硬背,这份“编程生活化笔记”让你少走三年弯路
前端·python
站大爷IP2 小时前
Python与MySQL:从基础操作到实战技巧的完整指南
python
老歌老听老掉牙2 小时前
SymPy 矩阵到 NumPy 数组的全面转换指南
python·线性代数·矩阵·numpy·sympy
站大爷IP2 小时前
Python条件判断:从基础到进阶的实用指南
python
赛博郎中2 小时前
pygame小游戏飞机大战_8继承精灵玩家优化
python·pygame
William一直在路上3 小时前
Python数据类型转换详解:从基础到实践
开发语言·python