我正在使用芹菜4.2.1与python 3.5。我的多处理代码如下:
import multiprocessing
from multiprocessing.managers import BaseManager
class MyManager(BaseManager):
pass
MyManager.register(str("Conns"), ConnClass)
multiprocessing.freeze_support()
if __name__ == 'tasks':
multiprocessing.freeze_support()
mana = MyManager()
mana.start()
glob = mana.Conns()
这项工作在Ubuntu 16.04上但不适用于WINDOWS 7.获得以下错误
mana.start()文件“c:\ users \ seshabhattar \ appdata \ local \ programs \ python \ python35 \ Lib \ multiprocessing \ managers.py”,第479行,在start self._process.start()中
文件“c:\ users \ seshabhattar \ appdata \ local \ programs \ python \ python35 \ Lib \ multiprocessing \ process.py”,第103行,开头
'守护进程不允许有孩子'
AssertionError:不允许守护进程拥有子进程
我尝试从django中的Celery任务调用多处理函数时遇到了类似的错误。我解决了使用台球而不是多处理
import billiard as multiprocessing
希望能帮助到你。