TypeError: ожидаемая строка или объект Unicode, найден NoneType - пул многопроцессорной обработки не работает во внешних методах Zope / Plone - PullRequest
0 голосов
/ 27 ноября 2018

Я использую

Zope - 2.13.19
Python - 2.6.8

Приведенный ниже фрагмент кода работает при запуске вручную, но не при использовании метода External.Выдает следующую ошибку.Я делаю что-то концептуально неправильно?

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'))

1 Ответ

0 голосов
/ 06 декабря 2018

Убедитесь, что все, что вы отправляете через границы процесса, может быть маринованным .

Как указано Multimedia Mike :

«Возможно отправлять объекты через границы процессов рабочим процессам, если объекты могут быть обработаны с помощью средства Python для засолки.»

...