2017-10-10 52 views
0

我正在开发一个自动化框架,用于我们在我的团队中进行的一些测试。我们所遇到的这个错误酸洗和做一些研究之后,我遇到了一些解决方案,并回顾了伴随GitHub的页面:Pathos多处理酸洗问题

我安装的悲怆,我相信我正确实施了,但我仍然得到了酸洗错误。以下是示例代码和回溯:

import multiprocess 

collect_host = 'test_host' 
collect_name = 'test_collect' 
username = 'user' 

start_func = test_start_callback(perf_collect=collect_name, 
           perf_user=username, 
           perf_host=collect_host, 
           password= password) 

dpool = multiprocess.Pool(1) 
args = ('', '') 
worker_results = [] 
worker = dpool.apply_async(start_func, args) 
worker_results.append(worker) 
dpool.close() 
dpool.join() 

for result in worker_results: 
     result.wait() 
     r = result.get() 
     assert r, 'No results returned' 

test_start_callback是一个工厂函数,用于生成不带任何参数的函数。我编辑了未使用的代码段。

def test_start_callback(dim_collect_host=None, dim_collect_user=None, 
         perf_host=None, perf_user=None, perf_collect=None, 
         password=None, tpcc_filename=None): 

    if perf_host and perf_user and perf_collect: 
     def perf_test_start(): 
      from <internal> import PerfmonManager 
      perf = PerfmonManager(host=perf_host, 
            username=perf_user, 
            password=password, 
            collect_name=perf_collect) 
      perf.start_collect() 
    return perf_test_start 

Traceback

我缺少的是,在其他未提及的SO链接或者是我通过这个功能不悲怆或者支持的方式。

回答

0

我是pathosmultiprocess作者。这是一个最近已知的问题,我不确定它的起源......它显然在过去的一个月里浮出水面,没有改变代码。我正在积极寻找问题的根源。它似乎只影响python 2.7

参见:https://github.com/uqfoundation/pathos/issues/121

UPDATE:如果这是相同的问题上面提及的一个,那么所有你需要做的是清理旧建立的multiprocess(蛋等)和重建。这似乎做到了。有关更多信息,请参阅上面的URL。