一部のリソースを取得するために、(スレッド プールを使用する) APScheduler を使用するシステムを実装しています。
APScheduler スレッド プールをシャットダウンできるように、「アプリの再起動」を検出する方法を見つけようとしています。uWSGIマスタープロセスにSIGHUPを送信して再起動しています。
誰かがこれらのいずれかを以前に試したことがありますか? もしそうなら、アプリの再起動イベントを検出する正しい方法は何ですか?
uwsgidecorators
postfork
デコレータがあり、uwsgi
モジュールには機能がsignal_wait
ありますsignal_received
signal_wait
関数ブロックなので、スレッドは実行されますが、uWSGI はリクエストを処理しません。また、False と True に設定しようとscheduler.daemonic
しましたが、どちらの方法でも役に立ちません。uWSGI プロセスは、引き続き次のようなログを記録します。
worker 1 (pid: 20082) is taking too much time to die...NO MERCY !!!