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 RuntimeError
ketika tidak ada werkzeug.server.shutdown
di request.environ
...
Jadi yang bisa kita lakukan bila tidak ada request
adalah 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.