TypeError:预期的字符串或 Unicode 对象,找不到 NoneType - 多处理池在 Zope/Plone 外部方法中不起作用

问题描述 投票:0回答:1

我在用

Zope - 2.13.19
Python - 2.6.8

以下代码在手动运行时有效,但在外部方法中无效。 它抛出以下错误。我在概念上做错了什么吗?

Exception in thread Thread-3:
Traceback (most recent call last):
  File "/opt/python2.6/lib/python2.6/threading.py", line 532, in __bootstrap_inner
    self.run()
  File "/opt/python2.6/lib/python2.6/threading.py", line 484, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/opt/python2.6/lib/python2.6/multiprocessing/pool.py", line 225, in _handle_tasks
    put(task)
TypeError: expected string or Unicode object, NoneType found


import time
from multiprocessing import Pool
import logging


def func(name):
    print 'hello %s,' % name
    time.sleep(5)
    print 'nice to meet you.'


def get_data():
    pool = Pool(processes=2)
    pool.map(func, ('frank', 'justin', 'osi', 'thomas'))
python python-multiprocessing python-2.6 zope
1个回答
0
投票

确保您跨流程发送的所有东西都可以pickled.

正如多媒体迈克所说

可以跨进程边界发送对象给worker 只要对象可以被 Python 的 pickle 腌制就可以处理 设施。

© www.soinside.com 2019 - 2024. All rights reserved.