我正尝试在Python中实现一些密集的文件读取和上载到db任务的多线程。 我尝试在Python中导入多处理模块,但遇到了一个酸洗错误。 但是,在导入多进程模块时,错误消失了,并且按照预期的方式工作。
我在Windows盒子上开发并测试了此代码,并且运行良好。但是,我不得不将其部署到生产盒中,甚至对于多进程模块也要重新获得酸洗错误。 多处理和多进程在Linux上均不起作用。
以下是我尝试实现的示例代码。
def run_insertion():
dbs = cfg.prefs.get_key_arr_dbs()
dbinfo_list = []
for key in dbs:
params = {}
table_name = 'q_' + str(key).replace('ITE', '').lower() + '_nrfu'
params['key'] = key
params['table_name'] = table_name
params['cfg'] = cfg
dbinfo_list.append(params)
pool = Pool()
output = pool.map(extract_upload_data, dbinfo_list)
for res in output:
print (res)
以下是我收到的确切错误
回溯(最近通话最近): 文件“ bin / data.py”,行179,在 main(sys.argv [0:]) main中的文件“ bin / data.py”,第163行 data_extractor.run_insertion() 在run_insertion中的第30行,文件“ build / bdist.linux-x86_64 / egg / procs / data_extractor_mod.py” 文件“ /usr/lib/python2.7/site-packages/multiprocess-0.70.9-py2.7.egg/multiprocess/pool.py”,行
返回self.map_async(func,可迭代,块大小).get() 文件“ /usr/lib/python2.7/site-packages/multiprocess-0.70.9-py2.7.egg/multiprocess/pool.py”,行 提高自我价值 cPickle.PicklingError:无法腌制:属性查找内置 .module失败
请告知