Wie man anmutige Herunterfahren in Python uwsgi Anwendung zu behandeln

Ich habe eine einfache Python uwsgi App, die dem Grundmuster folgt:

def application(env, start_response): ... do something ... ... create some threads ... ... handover the work to the threads ... start_response('200 OK', [('Content-Type','text/html')]) return result 

Mein Sysadmin beklagt sich, dass meine App nicht mit dem Herunterfahren fertig ist und er muss auf das Timeout von uwsgi warten, um die App-Prozesse jedes Mal zu töten, wenn er den uwsgi-Dienst neu starten möchte. Welches, anscheinend, kann bis zu 30 Sekunden dauern, Zeit, in der der Service nicht verfügbar ist.

Gibt es ein bestimmtes Signal oder rufen Sie an, dass uwsgi die App sendet, wenn es es schließen möchte? Wie kann ich damit umgehen?

One Solution collect form web for “Wie man anmutige Herunterfahren in Python uwsgi Anwendung zu behandeln”

 def goodbye(): print "Goodbye from worker %d" % uwsgi.worker_id() uwsgi.atexit = goodbye 

Oder dieses Standard-Python-Modul

  • Bad Django / uwsgi Leistung
  • UWSGI - Verschiedene Harakiri Timeout für Django Admin
  • Mit Python gibt es eine Möglichkeit, auf Änderungen zu hören, wenn Insert oder Update in Mongodb gemacht wird
  • Satchmo nginx umgeleitet zu https dann zu http und zurück
  • Kann die Konfiguration von uwsgi nicht laden
  • 'Ascii' Codec kann nicht decodieren Fehler, wenn Pip zu installieren uwsgi
  • Kompilieren fehlgeschlagen mit Fehlercode 1 in / tmp / pip_build_root / uwsgi
  • Uwsgi Fehler python Anwendung nicht gefunden
  • Wie optimiere ich uWSGI für Heroku Router 'Proxy / Puffer Situation?
  • ZeroMQ + Django & uwsgi Fragen
  • Kann ich das uwsgi-Protokoll verwenden, um http anzurufen?
  • Python ist die beste Programmiersprache der Welt.