КРИТИЧЕСКОЕ ВРЕМЯ РАБОТЫ при использовании eventlet и Firebase в Flask на gunicorn - PullRequest
0 голосов
/ 15 января 2020

Я занимаюсь разработкой Flask приложения, которое использует WebSockets (Flask -SocketsIO) и Google Firebase. Theres функция, которая извлекает пользовательские данные из firebase и отправляет им уведомление. Если я использую flask run для запуска веб-сервера, все работает нормально, включая сокеты и метод уведомления. Но когда я использую gunicorn --worker-class eventlet -w 1 "app:create_app()"" для запуска веб-сервера, как только вызывается метод отправки уведомлений, сервер как бы зависает, и в терминале он показывает следующее: [CRITICAL] WORKER TIMEOUT exception calling callback for <Future at 0x7fb681db61d0 state=finished raised TypeError>

Полный стек ошибок является общим здесь

Обратите внимание, что я не могу использовать несколько рабочих, так как я использую Flask -SocketsIO. Он не поддерживает несколько работников. Спасибо!

...