Ini adalah pertanyaan lama, tetapi googling tidak memberi saya wawasan apa pun tentang cara melakukannya.
Karena saya tidak membaca kode di sini dengan benar! (Doh!) Apa yang dilakukannya adalah menaikkan RuntimeErrorketika tidak ada werkzeug.server.shutdowndi request.environ...
Jadi yang bisa kita lakukan bila tidak ada requestadalah menaikkan aRuntimeError
def shutdown():
raise RuntimeError("Server going down")
dan tangkap itu ketika app.run()kembali:
...
try:
app.run(host="0.0.0.0")
except RuntimeError, msg:
if str(msg) == "Server going down":
pass # or whatever you want to do when the server goes down
else:
# appropriate handling/logging of other runtime errors
# and so on
...
Tidak perlu mengirim permintaan sendiri.