Сломанный пул процессов: Исполнитель Processpool внутри приложения django, размещенного на apache

У меня есть приложение django, которое я хотел бы разместить на своем сервере apache. Приложение принимает запросы и выполняет вычислительные операции над набором заданных входных данных. Для распараллеливания вычислений я использовал исполнитель future.ProcessPool в ядре приложения django. Распараллеливание незаменимо для моего приложения.

Хотя вышеуказанная настройка работает локально, я сталкиваюсь с ошибкой BrokenProcessPool, особенно когда приложение размещено на сервере apache. Попробовал несколько трюков в некоторых связанных вопросах (здесь), но у меня нет четкого представления о том, что происходит и как это решить. Не мог бы кто-нибудь помочь мне понять:

  1. С технической точки зрения, что лежит в основе моей установки?
  2. Как я могу решить ее, не меняя существующего фреймворка (Django, Apache)?
  3. Можете ли вы предоставить мне ссылки на идеальный рабочий процесс, используемый в некоторых известных научных данных или графических веб-приложениях с использованием Django и параллельных вычислений. Это могло бы помочь мне пересмотреть мой текущий фреймворк.

Ниже приведена соответствующая информация

  • views.py выглядит как

     import core.ray_trace
    
      def get_heatmap(request):
         list_of_inputs = request.POST.get('inputs')
          # parallel computation of list happens inside raytrace
          response_data = ray_trace(list_of_inputs)
          return JsonResponse(response_data, status=200)
    
  • Конфигурация Apache для моего проекта

       WSGIDaemonProcess sp python-path=/home/ubuntu/_/spaceplanning python-home=/home/ubuntu/_/venv processes=3 threads=10 request-timeout=600
       WSGIProcessGroup sp
       WSGIScriptAlias / /home/ubuntu/_/sp/spAPI/wsgi.py
    
  • ps aux | grep apache enter image description here

  • Сообщение об ошибке и Traceback: concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending. enter image description here

Я читал, что переход на Celery или gunicorn server может помочь, но, честно говоря, я не смог уловить все тонкости представленных деталей.

Наконец, есть ли какие-нибудь хорошие услуги веб-хостинга, обслуживающие науку о данных и графические приложения, которые я мог бы просто использовать, чтобы освободить себя от хостинга?

Вернуться на верх