我正在开发一个自动化框架,用于在我的团队中进行的一些测试。我们遇到了这个酸洗错误,在做了一些研究之后,我发现了一些解决方案,并查看了随附的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我遗漏了什么,在其他链接中没有提到,或者是我传递这个函数的方式,也不受pathos的支持。
发布于 2017-10-10 19:17:10
我是pathos和multiprocess的作者。这是一个最近才知道的问题,我还不确定.在过去的一个月里,它显然已经浮出水面,代码没有任何变化。我正在积极地寻找问题的根源。它似乎只影响python 2.7。
请参阅:https://github.com/uqfoundation/pathos/issues/121
UPDATE:如果这与上面引用的问题相同,那么您所需要做的就是清除multiprocess的旧构建(鸡蛋等)并进行重建。这样似乎就行了。有关更多信息,请参见上面的URL。
https://stackoverflow.com/questions/46673382
复制相似问题