2017-10-10 93 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。