Почему происходит обновление до приложения scipy 1.4 cra sh mod_wsgi на AWS Elasti c Beanstalk (вызывая состояние HTTP 504)? - PullRequest
2 голосов
/ 21 февраля 2020

У нас есть приложение Django, работающее на AWS Elasti c Beanstalk (EB) за балансировщиком нагрузки. Экземпляры запускают последнюю стандартную среду Amazon Linux с Python 3.6 и используют стандартную конфигурацию EB mod_wsgi (с Apache 2.4).

Где-то в приложении мы import scipy.signal используйте функцию scipy.signal.butter.

Это прекрасно работает с scipy 1.3.3, но когда мы обновляем до scipy 1.4.1 (в настоящее время последняя версия), сайт становится недоступным:

  • балансировщик нагрузки возвращает HTTP состояние 504 «Время ожидания шлюза», с пустой страницей

  • Только в журналах EB отображаются ... [core:error] [pid ...] [client ...] Script timed out before returning headers: wsgi.py

Обратите внимание, что развертывание по-прежнему проходит без проблем. Также обратите внимание, что проблема не возникает на наших локальных машинах разработки (windows и linux) при использовании сервера разработки Django (еще одна причина для использования apache для локального тестирования в качестве хорошо).

На первый взгляд кажется, что исправление, которое работает, - это изменение конфигурации Apache путем установки WSGIApplicationGroup %{GLOBAL}, как предлагается, например, здесь (см. Также документацию mod_wsgi ).

Однако, это может привести к побочным эффектам, как описано, например, здесь .

Я не вижу каких-либо очевидных изменений в выпуске scipy 1.4 отмечает , чтобы указать, почему эта проблема возникает внезапно.

Может ли кто-нибудь объяснить, что изменилось в scipy 1.4, чтобы вызвать эту проблему, и есть ли другой способ обойти это, чем исправление WSGIApplicationGroup %{GLOBAL}, описанное выше?

...