1. ホーム
  2. python

[解決済み] Celeryでタスクのステータスを確認するには?

2022-05-13 05:25:04

質問

celery (具体的には celery-django を使っています) でタスクが実行されているかどうかを確認するにはどうしたらよいでしょうか。

ドキュメントを読みましたし、ググりましたが、そのような呼び出しは見当たりません。

my_example_task.state() == RUNNING

私のユースケースは、トランスコード用の外部 (java) サービスがあることです。トランスコードするためにドキュメントを送信するとき、そのサービスを実行するタスクが実行されているかどうかを確認し、実行されていない場合は (再) 開始したいと思います。

私は現在の安定版である 2.4 を使用しています。

どのように解決するのですか?

すべての Task オブジェクトには .request プロパティがあり、その中に AsyncRequest オブジェクトを含んでいます。したがって、次の行は、タスクの状態を示す task :

task.AsyncResult(task.request.id).state