[解決済み] Celeryで実行中のタスクをキャンセルするには?
2022-09-30 11:31:12
質問
ドキュメントを読んだり、検索したりしていますが、明確な答えが見つからないようです。
すでに実行中のタスクをキャンセルすることはできますか。(タスクが開始され、しばらく時間がかかり、途中でキャンセルする必要があるような場合)
のドキュメントでこれを見つけました。 Celery FAQ
>>> result = add.apply_async(args=[2, 2], countdown=120)
>>> result.revoke()
しかし、これがキューに入れられたタスクをキャンセルするのか、ワーカー上で実行中のプロセスを殺すのか、はっきりしません。 どんな光でもありがとうございます!
どのように解決するのですか?
取り消す はタスクの実行を取り消します。タスクが revoke されると、ワーカーはそのタスクを無視し、実行しません。persistent revoke を使わなければ、ワーカーの再起動後にタスクが実行される可能性があります。
http://docs.celeryproject.org/en/latest/userguide/workers.html#worker-persistent-revokes
revoke には terminate オプションがあり、これは 偽の になっています。実行中のタスクを終了させる必要がある場合は、terminate を 真 .
>>> from celery.task.control import revoke
>>> revoke(task_id, terminate=True)
http://docs.celeryproject.org/en/latest/userguide/workers.html#revoke-revoking-tasks
関連
-
[解決済み] 与えられたキーがすでに辞書に存在するかどうかをチェックする
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み] 小数点以下1桁を取得する[重複]。
-
[解決済み] Pythonのインスタンス変数とクラス変数
-
[解決済み] Python 3でバイナリデータを標準出力に書き込むには?
-
[解決済み] SQLAlchemy: 日付フィールドをフィルタリングする方法は?
-
[解決済み] 古いバージョンのPythonにおける辞書のキーの並び順
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] Jupyter (IPython)ノートブックのセッションをpickleして保存する方法
-
[解決済み] Pythonでリストが空かどうかをチェックする方法は?重複
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 小数点以下1桁を取得する[重複]。
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] Python Logging でログメッセージが2回表示される件
-
[解決済み] virtualenv の `--no-site-packages` オプションを元に戻す。
-
[解決済み] Python Empty Generator 関数
-
[解決済み] PySparkでデータフレームのカラムをString型からDouble型に変更する方法は?
-
[解決済み] データクラスとtyping.NamedTupleの主な使用例
-
[解決済み] Pythonでリストが空かどうかをチェックする方法は?重複