Gunicorn: Wie übergebe ich ein Argument an die Anwendung, die von gunicorn ausgeführt wird?

Erstellt am 9. Dez. 2010  ·  4Kommentare  ·  Quelle: benoitc/gunicorn

Im Moment starte ich meine Web-App so:

$ gunicorn webapp:application

Ich möchte der Anwendungsfunktion in meiner webapp.py einige Parameter zuführen. Insbesondere möchte ich eine Konfigurationsdatei verwenden, um die Funktionsweise meiner Webapp anzupassen.

Ich habe die Dokumentation gelesen, wie man Gunicorn mit einer Konfigurationsdatei konfiguriert, aber das möchte ich nicht.

Ich habe dies versucht und einen Fehler erhalten:

$ gunicorn webapp:application dev.cfg

Soweit ich das beurteilen kann, hat gunicorn versucht, einen Callable namens "application dev.cfg" zu finden.

Irgendwelche Ideen?

Hilfreichster Kommentar

In Ihrem Anwendungsmodul können Sie Folgendes tun:

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

Und dann startest du deine App so:

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

Alle 4 Kommentare

In Ihrem Anwendungsmodul können Sie Folgendes tun:

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

Und dann startest du deine App so:

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

antwortete.

@benoitc es ist mehrere Jahre her, können Sie mir sagen, ob diese Antwort noch richtig ist? Ich habe es nicht geschafft, diesen Ansatz für mich zum Laufen zu bringen.

@pellunutty Ich denke, die Antwort ist jetzt nicht richtig. Sie können eine der Anwendungsklassen unterklassen (zB BaseApplication ) und relevante Informationen in der Methode load_config analysieren. Ein Beispiel finden Sie unter http://docs.gunicorn.org/en/stable/custom.html .

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen