問題タブ [celery-task]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
10203 参照

python - 不明なタスクから Celery の「task_id」から結果を取得する

以前に実行されたタスクがわからない場合、タスクの結果を取得するにはどうすればよいですか? セットアップは次のとおりです。次のソース(「tasks.py」)が与えられます:

RabbitMQ 3.3.2 をローカルで実行している場合:

Celery 3.1.12 がローカルで実行されている場合:

次に、メソッドをインポートして、「task_id」で結果を取得できます。

次の例では、これらのステップをプロセス間で分割します。あるプロセスでは、次のように「task_id」を取得します。

そして、別のプロセスで同じ 'task_id' を使用する場合 (コピーして別の REPL に貼り付けるか、別の HTTP 要求で)、次のようにします。

そして、私がそうする場合、別のプロセスで:

どのタスクが結果を生成しているかを事前に知らなくても、結果を取得できるようにしたいと考えています。私の実際の環境では、この task_id をクライアントに返し、HTTP リクエストを介してジョブのステータスを照会できるようにする予定です。

0 投票する
1 に答える
741 参照

python - Celery チャンクがタスクを実行しない

celery_tasks.py

セロリconfig.py

celery_test.py

私はこの方法でワーカーを開始します:

「印刷結果」でこれを取得しています

しかし、ワーカー コンソールには、処理されたタスクが表示されません

そのようにタスクを実行すると、すべて問題ありません

複数のIDを順番に行うのではなく、同じタスクに送信することを最適化しようとしています(利点があるかどうかはわかりません)。

私は何が欠けていますか?

どうもありがとう

0 投票する
3 に答える
3778 参照

python - AsyncResult(task_id) は、タスクが開始された後でも「PENDING」状態を返します

プロジェクトでは、実行時間の長いタスクの task.state をポーリングし、その実行ステータスを更新しようとしています。開発では機能しましたが、プロジェクトを本番サーバーに移動すると機能しません。タスクが花で開始されたことがわかっても、「PENDING」が表示され続けました。ただし、タスクが終了したときに更新された結果を取得できます。これは、task.state == 'SUCCESS' の場合です。私は本番環境でpython 2.6、Django 1.6、およびCelery 3.1を使用し、結果のバックエンドAMQPを使用しています。

別のメモとして、花は常に労働者のステータスをオフラインで表示しますが、タスクのステータスは正しいものでした。セロリ イベント 3.1.12 (Cipater) を使用すると、正しいワーカー ステータスが表示されます。

0 投票する
2 に答える
1808 参照

python - 通常のセロリコマンドでセロリをデーモンとして実行する方法

セロリタスクを使用してバックグラウンドでcsv処理を実行しているdjangoアプリがあるため、このコマンドでrabbitmq-serverrabbitmq sudo apt-get install rabbitmq-server-serverがインストールされ、正常に実行されました。

tasks.pyそして、アプリ内のモジュールにいくつかのセロリタスクコードがあり、以下のようにセロリを実行しています

これは正常に動作し、csvファイルをバックグラウンドで正常に実行していましたが、上記のコマンドをデーモン化したいだけで、デーモン化するオプションについて検索しましたが-D、上記のコマンドをデーモン化するために渡す引数が見つかりませんでした。上記のコマンドをデーモン化してセロリを実行できる方法はありますか?

0 投票する
3 に答える
13599 参照

django - スーパーバイザーを使用してセロリをデーモンとして実行しても機能しない

セロリ機能を備えたdjangoアプリがあるので、以下のようにセロリを正常に実行できます

しかし、デーモンとして実行する必要があるという既知の事実として、フォルダーcelery.conf内に以下のファイルを書きました/etc/supervisor/conf.d/

しかし、スーパーバイザーを次のように更新しようとすると、supervisorctl rereadからsupervisorctl updateメッセージが表示されましたsupervisorctl status

だから私はworker.logファイルに行き、以下のようなエラーメッセージを見ました

C_FORCE_ROOTでは、スーパーバイザーの conf ファイル内で環境変数として設定したにもかかわらず、なぜ文句を言って いるのでしょうか? 上記のconfファイルで何が間違っていますか?

0 投票する
1 に答える
2536 参照

python - Celery 未登録タスク KeyError

ターミナルで次のコマンドを実行してワーカーを起動します。

次に、セロリが未登録のタスクを受け取り、トリガーしたことを示す長いループ エラー メッセージが表示されます。

これに関する問題は、それcel_test.grp_all_w_codes.mk_dctが存在しないことです。cel_test.grp_all_w_codes実際、タスクは言うまでもなく、モジュールすらありませんmk_dct。数日前に一度ありましたが、その後削除しました。.pycファイルが浮かんでいるのではないかと思ったのですが、ありません。また、エラーをスローしているタスクへの参照がコード内に 1 つも見つかりません。コンピューターをシャットダウンし、rabbitmq サーバーを再起動して、何かへの参照がメモリに残っているのではないかと考えましたが、役に立ちませんでした。

ここで何が問題なのか、何が欠けているのか、誰にも分かりますか?