問題タブ [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 投票する
0 に答える
1804 参照

django - 処理のためにdjango-storagesファイルの内容を取得する

ローカルでメディアを提供していて、ファイルの内容を取得するタスクを処理する必要があったときは、非常に簡単でした。しかし、私はdjango-storagesに移行したばかりであり、置き換えのドロップではありません。誰かが私にS3からドキュメントをプルして処理できるようにする方法を教えてもらえますか?

古い方法:

しかし、私はdjango-storagesに移行しましたが、これは(明らかに)機能しません。s3からファイルのローカルコピーをプルして処理するにはどうすればよいですか。私はこれを簡単に行うことができると思いました:

新しい(失敗した)方法:

しかし、爆弾が発生するため、これに対してread()を実行することはできません。

結局、私はそれが古い方法と新しい方法の両方で機能する必要があります。明らかに私はこれを少し考えすぎています。

アップデート:

ドキュメントに従うことも役に立ちませんでした。

助けてくれてありがとう。

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

redis - 定期的なタスク スケジューリングの結果を取得する方法

こんにちは、私はセロリが初めてです。私は定期的なタスクのスケジューリングに取り組んでいます。私は次のように設定しましたceleryconfig.py

そしてmytask.py次のように:

私が走っているとき celery beat -s celerybeat-schedule、私は得ています

Configuration -> . broker -> redis://localhost:6379/0 . loader -> celery.loaders.default.Loader . scheduler -> celery.beat.PersistentScheduler . db -> celerybeat-schedule . logfile -> [stderr]@INFO . maxinterval -> now (0s) [2012-08-28 12:27:17,825: INFO/MainProcess] Celerybeat: Starting... [2012-08-28 12:28:00,041: INFO/MainProcess] Scheduler: Sending due task mytasks.add [2012-08-28 12:29:00,057: INFO/MainProcess] Scheduler: Sending due task mytasks.add [2012-08-28 12:30:00,064: INFO/MainProcess] Scheduler: Sending due task mytasks.add [2012-08-28 12:31:00,097: INFO/MainProcess] Scheduler: Sending due task mytasks.add

今、私は引数を渡したことがわかりません(16,16)。次に、この関数の答えを得るにはどうすればよいですかadd(x,y)

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

celery - セロリでいつジョブが開始されるかを知りたい

私は初めてceleryです。私は次のようにいくつかの構成を持っていceleryconfig.pyます:

ジョブが 30 秒で定期的に実行されるようにスケジュールしました。今、私はジョブを開始したいのですが、29 augこれ4:00PMをどのように設定すればよいですか??

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

celery - セロリ:スケジュールされた、アクティブな*および*終了したすべてのタスクを一覧表示します

バウンティの更新

可能であれば、監視スレッドを含まないソリューションが欲しいのですが。


アプリのクラスを使用して、スケジュールされたアクティブなタスクを表示できることを知っています。InspectControl

しかし、すでに完了したタスクを表示する関数が見つかりませんでした。完了したタスクを次のように検索できるため、この情報には少なくとも一時的にアクセスできる必要がありますtask_id

スケジュールされたタスク、アクティブなタスク、および完了したタスクの完全なリストを取得するにはどうすればよいですか?または、すべてのタスクのリストを一度に作成できますか?

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

celery - タイプの未登録タスクを受信しました

メモリ内にあるタスクを実行しようとしています。ワーカーに登録されたタスク

しかし、それでもエラーが発生します。

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

redis - イータが長い(8時間以上)セロリタスクは、イータに達すると連続して複数回実行されます

etaが3〜20時間のタスクを作成していますが、ワーカーログを見ると、このタスクの場合、Got task from broker: ...元のタスクを受け取ってからetaに達するまで、ワーカーは「」と言います。

BROKER_TRANSPORT_OPTIONS = {'visibility_timeout': X}これは、Xが秒単位の数値である設定と関係があることを私は知っています。

そこで、visibility_timeoutで遊んで、1時間未満に設定すると、ワーカーがX秒ごとに同じタスクを取得するのを確認できますが、visibility_timeoutXを1時間より大きく設定すると、デフォルトで1時間になります。私が設定した時間。

他の誰かがこの問題に遭遇しますか?これは既知のバグですか?

Redisサーバーバージョン2.4.15でCelery3.0.11(Chiastic Slide)を使用しています

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

python - シェルからセロリ定期タスクを手動で実行するにはどうすればよいですか?

セロリとジャンゴセロリを使用しています。テストしたい定期的なタスクを定義しました。シェルから定期的なタスクを手動で実行して、コンソール出力を表示することはできますか?

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

redis - セロリが (明らかに) ランダムにタスクを忘れた場合、どうすればよいですか?

sqlalchemy とセロリ ワーカーが稼働しているフラスコ アプリがあります。ブローカーとして redis を使用しています。誰かが会話で新しいメッセージを送信するたびに、ワーカーが開始され、会話に参加しているすべての人に通知メールを送信することになっています。したがって、データベースに接続し、関連するすべての電子メール アドレスを取得します。

残念ながら、セロリがメールを送信するタスクを知っているかどうかを決定するランダムな要因があるようです。いくつかの開始後は完全に機能し(時々)、いくつかの開始後はまったく機能しません。動作しないときに発生するエラーは次のとおりです。

セロリを実行する--loglevel=DEBUGと、タスクリストにタスクがリストされます:

システムがいつ機能し、いつ機能しないかをまだ判断できませんでした。しかし、関連するすべてのパッケージを現在入手可能な最新バージョンにアップグレードしましたが、まだ機能しません。

なぜこれが機能しないのか、どうすれば修正できるのかについてのアイデアを期待しています。私はちょっと必死なので、すべてのフィードバックは非常に高く評価されています!

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

python - セロリのtaskset_idからGroupResultを取得していますか?

公式ドキュメントに記載されているように、セロリグループを使用して一連のセロリタスクを開始しています

タスクセットの状態についてセロリをポーリングするために、グループ(タスクセット)IDもデータベースに保存しています。

タスクセット ID から開始して GroupResult オブジェクト (つまり my result) を取得する方法はありますか? この質問で行われていることと似ていますが、セロリ グループを使用しています。

私はすでにやってみました:

r.results()しかし、常に空であるため、機能しません。

GroupResult.save()GroupResult.restore() メソッドを使用する必要がありますか?

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

celery - Celery - エラー処理とデータストレージ

Celery の結果とエラーに関する一般的な戦略をよりよく理解しようとしています。

結果にはステータス/状態があり、要求に応じて結果が保存されます。このデータはいつ使用しますか? エラー処理とデータ ストレージはタスク内に含める必要がありますか?

私の目的をよりよく理解するのに役立つ場合に備えて、サンプルシナリオを次に示します。

ユーザーの住所を goeocode するジオコーディング タスクがあります。タスクが失敗または成功した場合、データベース内のフィールドを更新してユーザーに知らせたいと思います。(エラー処理) 成功したら、ジオコーディングされたデータをデータベースに挿入したい (データ ストレージ)

どのようなアプローチを取るべきですか?