我试图构建一个python脚本,它有一个工作进程池(使用多处理。池)在一大组数据中。在
我希望每个进程都有一个唯一的对象,该对象可以在该进程的多次执行中使用。在
Psudo代码:
def work(data):
#connection should be unique per process
connection.put(data)
print 'work done with connection:', connection
if __name__ == '__main__':
pPool = Pool() # pool of 4 processes
datas = [1..1000]
for process in pPool:
#this is the part i'm asking about // how do I really do this?
process.connection = Connection(conargs)
for data in datas:
pPool.apply_async(work, (data))
进程本地存储作为一个映射容器很容易实现,对于其他从Google这里寻找类似内容的人来说(注意这是Py3,但是很容易转换为2的语法(只需从
object
继承):查看更多@https://github.com/akatrevorjay/pytutils/blob/develop/pytutils/mappings.py
直接创建
mp.Process
es可能是最简单的方法(没有mp.Pool
):收益率
^{pr2}$请注意,
Proc
号每次都对应相同的Conn
号。在我觉得这样的东西应该行得通(没有经过测试)
相关问题 更多 >
编程相关推荐