7

一部のリソースを取得するために、(スレッド プールを使用する) APScheduler を使用するシステムを実装しています。

APScheduler スレッド プールをシャットダウンできるように、「アプリの再起動」を検出する方法を見つけようとしています。uWSGIマスタープロセスにSIGHUPを送信して再起動しています。

誰かがこれらのいずれかを以前に試したことがありますか? もしそうなら、アプリの再起動イベントを検出する正しい方法は何ですか?

  • uwsgidecoratorspostforkデコレータがあり、
  • 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 !!!

4

1 に答える 1