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?
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.
Comentários muito úteis
Em seu módulo de aplicativo, você pode fazer algo assim:
E então você inicia seu aplicativo assim: