首页 > 解决方案 > 专业化多处理。池工作者

问题描述

我有一个项目列表和可以处理这些项目的同一服务的几个实例。我想启动一些进程,其中每个工作人员都固定到服务的特定实例,但在可以自由处理它们时将项目从同一个列表中拉出。

多处理文档中的第一个示例为例:

from multiprocessing import Pool

def f(x):
    return x*x

if __name__ == '__main__':
    with Pool(5) as p:
        print(p.map(f, [1, 2, 3]))

我想对其进行修改,以便f(x)实际上(在逻辑上)更像:

def f(worker, x):
    return (f'processed on worker {worker}', x*x)

在现实生活中,我可以使用哪些worker东西来修复特定服务(例如,作为服务字典的键或类似的东西)。这可能吗?

标签: pythonpython-multiprocessing

解决方案


推荐阅读