問題タブ [celery]
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.
python - Celery を使用してタスクを遅らせるにはどうすればよいですか?
delay
メソッドの話ではありません。
task_id を指定してタスクを取得し、実行前にその場で ETA を変更できるようにしたいと考えています。
今のところ、キャンセルして、スケジュールを変更する必要があります。スケジュールされたプロセスに多くのものが含まれている場合は面倒です。
python - セロリを使用してtask_idを選択するにはどうすればよいですか?
今のところ、async_resultからtask_idを取得し、後で取得するために保存する必要があります。task_idが何でできているかを知っていれば、DBからプルする代わりに、計算して戻すことができます。EG:でタスクを設定しますtask_id=("%s-%s" % (user_id, datetime))
。
rabbitmq - RabbitMQでのセロリタスクの優先度の回避策?
いくつかのデータ処理タスクを処理するためのキューとして、RabbitMQの上でCeleryを使用してDjangoを実行しています。私は、ユーザーが最初にサインアップしたときと、定期的にデータを更新するために、セロリのタスクを開始しています。ただし、もちろん、現在オンラインになっているユーザーを実行しているタスクを優先したいと思います。セロリのタスクに優先順位が設定されていることに気づきましたが、rabbitmqはこれをサポートしていないようです。このスレッドhttp://groups.google.com/group/celery-users/browse_thread/thread/ac3b6123d63421e5/b7740def1389e87e?lnk=gst&q=priority#b7740def1389e87eは、優先度の高いキューと優先度の低いキューの2つの異なるキューがあることを示しています。優先度の低いタスクのレート制限。
誰かが優先順位を実装するための良い回避策を持っていますか?前もって感謝します!
python - django-celery を使用してバックグラウンドでゲットークを実行し続けるのに問題がある人はいますか?
1 つの要求を正常に処理すると、次のジョブをキューにポストするクライアント アプリがこのトレースバックで失敗します。
「...うまくいく」ので、rabbitMQに切り替えています
python - django内のCeleryで実行中のタスクを中止します
Celery キューから (rabbitMQ を使用して) 実行されているタスクを中止できるようにしたいと考えています。を使用してタスクを呼び出します
ここで、AsyncBoot は定義済みのタスクです。
タスク ID (返される長い文字列であると仮定) を取得しapply_async
てデータベースに保存することはできますが、abort メソッドを呼び出す方法がわかりません。Abortable タスク クラスでメソッドを中止可能にする方法はわかりましたが、タスク ID 文字列しかない場合、タスクで .abort() を呼び出すにはどうすればよいですか? ありがとう。
python - この Web アプリにはタスク キューが必要ですか?
バックグラウンド
ユーザー入力から画像を作成する Web アプリがあります。イメージの作成には数秒かかる場合があります。
問題
リクエスト/レスポンスを処理しているサーバースレッドに画像も生成させると、スレッドが数秒間拘束され、サーバーが停止し、パフォーマンスに影響を与えたり、子犬を殺したりする可能性があります.
質問
Celeryなどのタスク キューを使用して、サーバーがイメージの作成をハンドオフし、要求/応答の処理に戻ることができるようにする必要がありますか? 画像を作成しているユーザーを待たせても問題ありませんが、サイトへの他のユーザーのアクセスに影響を与えたくありません。
python - Django Celery AbortableTask の使用法
Celery のAbortableTask機能を使用しようとしていますが、ドキュメントの例がうまく機能していないようです。与えられた例は次のとおりです。
と
ただし、次のエラーが表示されます。
私は何を間違っていますか?
python - Celeryrun_everyプロパティを機能させることができません
私はいくつかのCelery定期タスクを作成しようとしていますが、そのうちのいくつかは実行時にrun_everyを変更する機能を備えている必要があります。Celeryのドキュメントには、run_every属性をプロパティに変換することでこれを実行できるはずだと書かれています(http://packages.python.org/celery/faq.html#can-i-change-the-interval-of-a-実行時の定期的なタスク)。
これが私がしていることです:
残念ながら、celerybeatをオンにすると、次のエラーが発生します。
[Thu Sep 09 15:44:40 2010:CRITICAL / 828]:celerybeatが例外を発生させました:'datetime.timedelta'オブジェクトに属性がありません'is_due'
その後、シャットダウンします。Celeryのドキュメントは、run_everyをプロパティにしたときに何を返すかについては実際には説明していません。また、Googleを検索することもできませんでした。Celeryの変更ログによると、バージョン1.0.0以降、実行時に定期タスクの間隔を変更できるようになっています。
開発者 環境:
- Python 2.6.5
- Django 1.2.1
- セロリ2.0.2
celery - 取り消し機能には、キュー内のタスクの実行を停止するための追加の API 呼び出しが必要ですか?
同時実行数が 1 に設定されたワーカーと、[テスト用] 無限ループに入るタスクがあります。タスク T1 を送信すると、ワーカーはそれを受け取り、仕事に取り掛かります。別のタスクを送信すると、タスクが取得され、T1 でまだビジー状態であるため、T2 はキュー [rabbitMQ] に入ります。
T2.revoke() と revoke(t2.task_id) を試しました
そして、インスペクトで確認して、失効したステータスを確認しました。すべてがよく見えます。しかし、ワーカーを再起動すると、T2 が実行されます。
T2 の実行を抑制するために必要なことはありますか?
django - セロリを使用した遅延呼び出しの結果をdjangoビューに保存するにはどうすればよいですか?
http://celeryq.org/docs/django-celery/getting-started/first-steps-with-django.htmlのガイドラインに従い、tasks.pyでテストメソッドを呼び出すビューを作成しました。
しかし、add-methodの応答に時間がかかる場合、add.delay(1,2)を呼び出したときに取得したresult-objectを保存し、それを使用してget laterを使用して進行状況/成功/結果を確認するにはどうすればよいですか?