新しいバージョンの django アプリケーションを heroku にデプロイすると、ワーカーの再起動が強制されます。強制終了される前にクリーンアップを実行する必要がある、長時間実行されるタスクがいくつかあります。
すべてが呼び出されるとは限らない worker_shutdown フックを登録しようとしました。
ワーカーシャットダウンのセロリタスクの通知でも答えを試しましたが、このコンテキスト内から特定のタスクを中止する方法がわかりません。
助けてくれてありがとう。
新しいバージョンの django アプリケーションを heroku にデプロイすると、ワーカーの再起動が強制されます。強制終了される前にクリーンアップを実行する必要がある、長時間実行されるタスクがいくつかあります。
すべてが呼び出されるとは限らない worker_shutdown フックを登録しようとしました。
ワーカーシャットダウンのセロリタスクの通知でも答えを試しましたが、このコンテキスト内から特定のタスクを中止する方法がわかりません。
助けてくれてありがとう。
展開を制御する場合は、Control.broadcastを行うスクリプトを実行して、事前に登録できるカスタム コマンドを実行し、必要な応答を受信した後にのみ展開することができます (そのロジックを実装する必要があります)。展開を続行します (または TimeoutException を発生させます)?
また、セロリにはすでにシャットダウン用の事前定義されたコマンドがあり、インスタンスまたはワーカーのサブクラスでオーバーロードできると思います。コマンドには、コンシューマーへのアクセスを可能にする Panel インスタンスが渡されるという利点があります。それはそこに多くのコントロールを公開するはずです...