Gunicorn: ¿Cómo paso un argumento a la aplicación que ejecuta gunicorn?

Creado en 9 dic. 2010  ·  4Comentarios  ·  Fuente: benoitc/gunicorn

En este momento, inicio mi aplicación web así:

$ gunicorn webapp:application

Quiero alimentar algunos parámetros a la función de la aplicación dentro de mi webapp.py. En particular, quiero usar un archivo de configuración para ajustar cómo funciona mi aplicación web.

Leí los documentos sobre cómo configurar gunicorn con un archivo de configuración, pero no quiero eso.

Intenté esto y obtuve un error:

$ gunicorn webapp:application dev.cfg

Por lo que puedo decir, gunicorn intentó encontrar un invocable llamado "application dev.cfg".

¿Algunas ideas?

Comentario más útil

En su módulo de aplicación, puede hacer algo como esto:

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

Y luego inicias tu aplicación así:

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

Todos 4 comentarios

En su módulo de aplicación, puede hacer algo como esto:

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

Y luego inicias tu aplicación así:

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

contestado.

@benoitc han pasado varios años, ¿puedes decirme si esta respuesta sigue siendo correcta? No he podido hacer que este enfoque funcione para mí.

@pellunutty No creo que la respuesta sea correcta ahora. Puede crear una subclase de una de las clases de aplicación (por ejemplo, BaseApplication ) y analizar la información relevante en el método load_config . Consulte http://docs.gunicorn.org/en/stable/custom.html para ver un ejemplo.

¿Fue útil esta página
0 / 5 - 0 calificaciones