Gunicorn: Como faço para passar um arg para o aplicativo que o gunicorn executa?

Criado em 9 dez. 2010  ·  4Comentários  ·  Fonte: benoitc/gunicorn

Agora, eu inicio meu aplicativo da web assim:

$ gunicorn webapp:application

Eu quero alimentar alguns parâmetros para a função do aplicativo dentro do meu webapp.py. Em particular, quero usar um arquivo de configuração para ajustar como meu webapp funciona.

Eu li a documentação sobre como configurar o gunicorn com um arquivo de configuração, mas não quero isso.

Tentei fazer isso e obtive um erro:

$ gunicorn webapp:application dev.cfg

Pelo que eu posso dizer, gunicorn tentou encontrar um chamável chamado "application dev.cfg".

Alguma ideia?

Comentários muito úteis

Em seu módulo de aplicativo, você pode fazer algo assim:

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

E então você inicia seu aplicativo assim:

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

Todos 4 comentários

Em seu módulo de aplicativo, você pode fazer algo assim:

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

E então você inicia seu aplicativo assim:

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

respondidas.

@benoitc já faz vários anos, você pode me dizer se a resposta ainda está correta? Não consegui fazer com que essa abordagem funcionasse para mim.

@pellunutty Não acho que a resposta esteja correta agora. Você pode criar uma subclasse de uma das classes de aplicativo (por exemplo, BaseApplication ) e analisar informações relevantes no método load_config . Consulte http://docs.gunicorn.org/en/stable/custom.html para obter um exemplo.

Esta página foi útil?
0 / 5 - 0 avaliações