Übergeben Sie ein anderes Objekt an die Hauptflasche Anwendung

8

Ich habe Zweifel, wie man ein Objekt korrekt an eine Flaschen-App übergibt.

Die Idee ist einfach.

Ich möchte eine API für meine Anwendung erstellen, was bedeutet, dass HTTP-Anfragen, die von meiner flask-Anwendung verarbeitet werden, in meiner Hauptanwendung Metriken auslösen.

Dafür brauche ich Flasche, um meinen anderen Prozess auf die eine oder andere Weise zu kennen.

Momentan habe ich etwas wie:

%Vor%

Ich muss in der Lage sein, so etwas zu tun:

%Vor%

, was bedeutet, dass ich entweder den Logger zur App oder den Logger in der App direkt definieren muss.

Aber in jeder der Lösungen, die ich finden kann, muss ich eine vererben App erstellen, die __init__() überschreibt und Objekte als Parameter akzeptiert oder ändert die Methode run() .

die aktuelle Art, wie ich es tun würde ist jedoch:

%Vor%

Ist das auch die Art und Weise, wie Sie es tun würden, oder gibt es einen besseren Weg, dies zu tun?

Danke!

Hier ist eine allgemeinere Version dieser Frage: Web-API in Flask

>     
jlengrand 13.02.2013, 18:02
quelle

2 Antworten

10

Sehen Sie sich Anwendungsfactorys an, die das tun sollten, wonach Sie suchen. Sie würden eine Factory erstellen, die Ihre Flask-App zurückgegeben hat, an die Sie den Logger senden würden - etwa so:

%Vor%

Und dann würden Sie in Ihrem runserver.py den Logger erstellen und übergeben:

%Vor%

Sobald dies erledigt ist, kann Ihre App auf den Logger in app.config['LOGGER'] verweisen.

    
girasquid 15.02.2013, 21:13
quelle
1

Vielleicht möchten Sie den App-Kontext von flask für diesen Zweck verwenden

%Vor%

mehr Einblick von Armin dazu: Ссылка

    
mderk 18.02.2013 11:18
quelle

Tags und Links