AssertionError: демоническим процессам не разрешено иметь детей - PullRequest
0 голосов
/ 12 декабря 2018

Я использую сельдерей 4.2.1 с питоном 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 \ Manager.py ", строка 479, в начале self._process.start ()

Файл" c: \ users \seshabhattar \ appdata \ local \ Programs \ python \ python35 \ Lib \ multiprocessing \ process.py ", строка 103, в начале

'демоническим процессам не разрешено иметь детей'

AssertionError: демоническим процессам не разрешено иметь детей

1 Ответ

0 голосов
/ 28 февраля 2019

Я получил похожую ошибку при попытке вызвать многопроцессорную функцию из задачи Celery в django.Я решил использовать бильярд вместо многопроцессорной обработки

import billiard as multiprocessing

Надеюсь, это поможет.

...