【问题标题】:Pathos Multiprocessing Pickling IssuePathos 多处理酸洗问题
【发布时间】:2017-10-10 18:18:58
【问题描述】:

我正在为我的团队正在进行的一些测试开发一个自动化框架。我们遇到了这个 Pickling 错误,在做了一些研究之后,我遇到了许多解决方案并查看了随附的 github 页面:

我安装了 pathos 并相信我已正确实现它,但我仍然收到 Pickling 错误。这是示例代码和回溯:

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 链接中未提及的内容,或者我传递此函数的方式也不被 pathos 支持。

【问题讨论】:

    标签: multiprocessing pickle dill pathos


    【解决方案1】:

    我是pathosmultiprocess 的作者。这是一个最近的已知问题,我还不确定它的起源......它显然在过去一个月中浮出水面,而没有更改代码。我正在积极追查问题的根源。好像只影响python2.7

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

    更新:如果这与上面提到的问题相同,那么您需要做的就是清除 multiprocess 的旧版本(鸡蛋等)并重建。这似乎做到了。有关详细信息,请参阅上面的 URL。

    【讨论】:

      猜你喜欢
      • 2015-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-29
      • 1970-01-01
      • 2018-07-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多