2017-10-10 4 views
0

Ich entwickle ein Automatisierungs-Framework für einige Tests, die wir in meinem Team durchführen. Wir haben in diesem Abbeizen Fehler kommen und nach einigen Recherchen stieß ich auf eine Reihe von Lösungen und überprüft die begleitenden Github Seite:Pathos Multiprocessing Beizen Problem

ich installiert Pathos und ich glaube, es richtig umgesetzt haben, aber ich bin immer noch das Abbeizen Fehler. Hier ist der Beispielcode und Traceback:

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' 

Die test_start_callback ist eine Fabrik-Funktion, eine Funktion zu erzeugen, die keine Argumente annimmt. Ich habe das Codesegment, das nicht verwendet wird, weggelassen.

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

Was soll ich das fehlt in der anderen nicht so Links erwähnt oder ist die Art, wie ich diese Funktion nicht entweder durch Pathos unterstützt werde vorbei.

Antwort

0

Ich bin der pathos und multiprocess Autor. Dies ist ein kürzlich bekanntes Problem, von dessen Ursprung ich noch nicht überzeugt bin ... es ist anscheinend im vergangenen Monat aufgetaucht, ohne dass sich der Code geändert hat. Ich arbeite aktiv, um herauszufinden, woher das Problem stammt. Es scheint nur Auswirkungen auf Python 2.7.

See: https://github.com/uqfoundation/pathos/issues/121

UPDATE: Ist dies das gleiche Problem wie die oben erwähnten ein, dann alles, was Sie tun müssen, ist sauber aus Altbauten (Eier, etc.) von multiprocess und wieder aufzubauen. Das scheint es zu tun. Weitere Informationen finden Sie unter der obigen URL.