Gunicorn: Как передать аргумент приложению, запускаемому Gunicorn?

Созданный на 9 дек. 2010  ·  4Комментарии  ·  Источник: benoitc/gunicorn

Прямо сейчас я запускаю свое веб-приложение следующим образом:

$ gunicorn webapp:application

Я хочу передать некоторые параметры функции приложения в моем webapp.py. В частности, я хочу использовать файл конфигурации, чтобы настроить работу моего веб-приложения.

Я читал документацию о том, как настроить Gunicorn с помощью файла конфигурации, но мне это не нужно.

Я попробовал это и получил ошибку:

$ gunicorn webapp:application dev.cfg

Насколько я могу судить, Gunicorn пытался найти вызываемый объект с именем "application dev.cfg".

Любые идеи?

Самый полезный комментарий

В модуле вашего приложения вы можете сделать что-то вроде этого:

def load_app(cfg_file):
    cfg = load_app_config(cfg_file)
    return my_app(cfg)

А затем вы запускаете свое приложение вот так:

$ gunicorn 'webapp:load_app("/path/to/my_config.ini")'

Все 4 Комментарий

В модуле вашего приложения вы можете сделать что-то вроде этого:

def load_app(cfg_file):
    cfg = load_app_config(cfg_file)
    return my_app(cfg)

А затем вы запускаете свое приложение вот так:

$ gunicorn 'webapp:load_app("/path/to/my_config.ini")'

ответил.

@benoitc прошло несколько лет, можете ли вы мне сказать, верен ли этот ответ? Мне не удалось заставить этот подход работать на меня.

@pellunutty Я не думаю, что сейчас ответ правильный. Вы можете создать подкласс одного из классов приложения (например, BaseApplication ) и проанализировать соответствующую информацию в методе load_config . См. Пример на http://docs.gunicorn.org/en/stable/custom.html .

Была ли эта страница полезной?
0 / 5 - 0 рейтинги