AssertionError:不允许守护进程拥有子进程

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

我正在使用芹菜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:不允许守护进程拥有子进程

celery python-3.5 python-multiprocessing
1个回答
0
投票

我尝试从django中的Celery任务调用多处理函数时遇到了类似的错误。我解决了使用台球而不是多处理

import billiard as multiprocessing

希望能帮助到你。

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