Хотя описанная выше настройка работает локально, я сталкиваюсь с ошибкой BrokenProcessPool, особенно когда приложение размещено на сервере Apache. Попробовал несколько трюков в некоторых связанных вопросах (здесь), но у меня нет четкого представления, что происходит и как это решить. Может кто-нибудь помочь мне понять:
- Технически, в чем заключается основная проблема в моей настройке?
- Как мне это сделать? решить эту проблему, не меняя существенно существующую структуру (Django, Apache)?
- Можете ли вы предоставить мне ссылки на идеальный рабочий процесс, используемый в некоторых известных веб-приложениях для обработки данных или графики, использующих 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
- Сообщение об ошибке и обратная трассировка: concurrent.futures.process.BrokenProcessPool: процесс в пуле процессов был внезапно завершен во время выполнения или ожидания будущего.
Наконец, есть ли хорошие услуги веб-хостинга обслуживание приложений для обработки данных и графических приложений, которые я мог бы использовать, чтобы освободить себя от хостинга?
Подробнее здесь: https://stackoverflow.com/questions/786 ... -on-apache