Django как я могу использовать многопроцессорность в команде управления

как использовать мультипроцессинг в команде управления django? Я не могу понять, как запустить процесс внутри контекста django моих сайтов

команда управления

users = users.objects.filter(is_active=True)

with ProcessPoolExecutor(max_workers=5) as executor:
   processes = []
   for user in users:
       p = executor.submit(complex_user_calculation,user)
       processes.append(p)

   for f in concurrent.futures.as_completed(processes):
       result = f.result()
       if result:
           print(result)

Когда я запускаю эту команду управления, я получаю эту ошибку

    raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
...
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\concurrent\futures\_base.py", line 390, in __get_result
    raise self._exception
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.

Вам необходимо инициализировать ваше приложение Django в каждом подпроцессе, чтобы убедиться, что все ваши приложения, модели и т.д. загружены. Передайте django.setup в качестве инициализатора пула

with ProcessPoolExecutor(max_workers=5, initializer=django.setup) as executor:
    ...
Вернуться на верх