使用joblib parallel时如何设置进程/线程

使用joblib parallel时如何设置进程/线程,joblib,Joblib,以下是joblib parallel的常见用法 import numpy as np from joblib import Parallel, delayed def is_memmap(obj): return isinstance(obj, np.memmap) Parallel(n_jobs=2, max_nbytes=1e6)( delayed(is_memmap)(np.ones(int(i))) for i in [1e2, 1e4, 1e6]) 我需要在函数中

以下是joblib parallel的常见用法

import numpy as np
from joblib import Parallel, delayed

def is_memmap(obj):
    return isinstance(obj, np.memmap)

Parallel(n_jobs=2, max_nbytes=1e6)(
    delayed(is_memmap)(np.ones(int(i))) for i in [1e2, 1e4, 1e6])
我需要在函数中使用到我的数据库的连接:是_memmap,但此连接不能在工作人员之间共享,因此我必须在输入时打开连接,在退出时关闭连接:

def is_memmap(obj):
    # open connection
    # do something
    # close connection 
    return isinstance(obj, np.memmap)
因为joblib将创建一个工作池并重用它。joblib创建工作池时,我可以为每个线程/进程打开连接吗?

因此,我不必多次打开/关闭连接

以下是我想要的:

def is_memmap(obj):
    # **connection is already open, I can use it with a magic varaible**
    # do something
    # conection will close after all work is done. no need close it here.
    return isinstance(obj, np.memmap)