Gunicorn: Comment passer un argument à l'application exécutée par gunicorn ?

Créé le 9 déc. 2010  ·  4Commentaires  ·  Source: benoitc/gunicorn

En ce moment, je démarre mon application Web comme ceci :

$ gunicorn webapp:application

Je souhaite fournir des paramètres à la fonction d'application dans mon webapp.py. En particulier, je souhaite utiliser un fichier de configuration pour ajuster le fonctionnement de mon application Web.

J'ai lu la documentation pour savoir comment configurer gunicorn avec un fichier de configuration, mais je ne le veux pas.

J'ai essayé ceci et j'ai une erreur :

$ gunicorn webapp:application dev.cfg

Pour autant que je sache, gunicorn a essayé de trouver un appelable nommé "application dev.cfg".

Des idées?

Commentaire le plus utile

Dans votre module d'application, vous pouvez faire quelque chose comme ceci :

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

Et puis vous démarrez votre application comme ceci :

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

Tous les 4 commentaires

Dans votre module d'application, vous pouvez faire quelque chose comme ceci :

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

Et puis vous démarrez votre application comme ceci :

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

répondu.

@benoitc cela fait plusieurs années, pouvez-vous me dire si cette réponse est toujours correcte ? Je n'ai pas réussi à faire fonctionner cette approche pour moi.

@pellunutty Je ne pense pas que la réponse soit correcte maintenant. Vous pouvez sous-classer l'une des classes d'application (par exemple BaseApplication ) et analyser les informations pertinentes dans la méthode load_config . Voir http://docs.gunicorn.org/en/stable/custom.html pour un exemple.

Cette page vous a été utile?
0 / 5 - 0 notes