0
我使用multiporcessing.Pool
類將任務提交給工作人員,我希望每個工人在啓動時(或者由maxtasksperchild
參數替換)來打開自己的數據庫連接。如何爲多處理池的ewery成員初始化數據庫連接?
現在代碼類似於此:
conn = None
def init(dsn):
global conn
conn = connect(dsn)
def f(x):
global conn
<do the work with conn>
p = multiprocessing.Pool(initializer=init, initargs=('dsn',), maxtasksperchild=100)
p.map(f, ....)
這個作品,但global
關鍵字看起來非常難看,能不能更溫柔呢?