Вы можете указать параметры конфигурации для Gunicorn несколькими способами. Из документов:
- Переменные среды
- Настройки платформы
- Файл конфигурации
- GUNICORN_CMD_ARGS
- Командная строка
https://docs.gunicorn.org/en/latest/configure.html
Я предлагаю 3 или 5. Если у вас уже есть файл конфигурации, просто добавьте его туда. Если вы этого не сделаете, добавьте его как аргумент командной строки, который вы просто задали бы в качестве аргумента команды в вашем Procfile
.
Пример:
web: gunicorn --timeout 45 package:app
Я бы посоветовал вам избегать использования 4, GUNICORN_CMD_ARGS
, потому что пакет сборки использует его для установки некоторых настроек по умолчанию, которые необходимы при запуске в Cloud Foun dry. Если вы установите это, он переопределит пакет сборки и его значение по умолчанию.
На момент написания для пакета сборки установлено следующее значение по умолчанию:
export GUNICORN_CMD_ARGS=${GUNICORN_CMD_ARGS:-'--access-logfile -'}
https://github.com/cloudfoundry/python-buildpack/blob/master/src/python/supply/supply.go#L702
Если бы вы действительно хотели использовать эту опцию, вы могли бы. Вам просто нужно будет указать значения по умолчанию, иначе вы потеряете журнал из Gunicorn. Основной риск здесь будет заключаться в том, что пакет сборки изменит свои настройки по умолчанию в будущем. Тогда вы будете рассинхронизированы c.
В качестве примечания, вы можете также посмотреть на параметры asyn c worker. Если у вас есть код, который в основном ожидает, например, для ввода-вывода, это может быть лучший, более масштабируемый вариант (в отличие от увеличения тайм-аута).
https://docs.gunicorn.org/en/latest/design.html#choosing -a-worker- введите
Вы можете сделать это, установив пакеты для выбранного вами asyn c worker.
https://docs.gunicorn.org/en/latest/install.html#async -workers
Затем добавьте флаг --worker-class <worker>
к аргументам в вашей команде запуска Procfile (или используя любой другой метод конфигурации поддержки Gunicorn). Примечание - вам не нужно включать --timeout
при использовании этой опции.
https://docs.gunicorn.org/en/latest/settings.html#worker -класс
Пример:
pip install gunicorn[eventlet]
gunicorn --worker-class eventlet package:app