問題タブ [django-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.
django - 基本的なセロリメッセージのキューイングがどのように機能するかを理解する
メッセージキューにセロリを使用する小さなテストを実装しましたが、基本的なレベルでどのように機能するかを理解したいだけです(Django-Celery、Redisをブローカーとして使用)。
私の理解では、非同期タスクを開始するために呼び出しを行うと、タスク情報がredisに配置され、ブローカーに接続されたcelerydインスタンスがタスクを消費して実行します。これは本質的に何が起こっているのですか?
1時間に1回実行されるはずの定期的なタスクを設定した場合、そのタスクはすべてのタスクコンシューマーで実行されますか?もしそうなら、1人の消費者だけが定期的なタスクを実行するようにそれを制限する方法はありますか?
python - Django と Celery を使用した動的ページ
ファイルに Celery タスクが登録されていtasks.py
ます。誰かが /run/pk に POST すると、指定されたパラメーターでタスクを実行します。このタスクは他のタスク (通常の Python 関数) も実行します。サブタスクが作業を終了するたびにページ (/run/pk で返される HttpResponse) を更新したいと考えています。
これが私の仕事です:
python - セロリタスクにワーカーのシャットダウンを通知する
python 2.6、rabbitmqバックエンド、およびdjangoでcelery2.4.1を使用しています。ワーカーがシャットダウンした場合に、タスクを適切にクリーンアップできるようにしたいと思います。私の知る限り、タスクデストラクタを提供できないので、worker_shutdownシグナルにフックしてみました。
注:AbortableTaskはデータベースバックエンドでのみ機能するため、使用できません。
ただし、シャットダウンフックが呼び出されることはありません。ワーカーをCtrl-Cで実行してもタスクは強制終了されないため、シェルから手動で強制終了する必要があります。
それで、これが適切な方法ではない場合、タスクを正常にシャットダウンできるようにするにはどうすればよいですか?
django - DjangoとCeleryの例:定期的なタスク
私はしばらくの間Django/Celeryのドキュメントと戦ってきましたが、助けが必要です。
django-celeryを使用して定期的なタスクを実行できるようにしたいと思います。私はインターネット(およびドキュメント)の周りで、Celeryを使用してこれを達成する方法についていくつかの異なる形式とスキーマを見てきました...
誰かがdjango-celeryの定期的なタスクの作成、登録、実行の基本的で機能的な例を手伝ってもらえますか?特に、PeriodicTaskクラスを拡張するタスクを作成して登録する必要があるのか、@ periodic_taskデコレータを使用する必要があるのか、@taskデコレータを使用してからタスクのスケジュールを設定する必要があるのかを知りたいです。実行。
3つの方法すべてが可能かどうかは気になりませんが、少なくとも1つの方法が機能する例を見てみたいと思います。本当にあなたの助けに感謝します。
django - Django-Celeryでの定期的なタスクの停止/パージ
PeriodicTaskをサブクラス化することで、django-celeryで定期的なタスクを機能させることができました。テストタスクを作成して、役に立たないことを実行するように設定しようとしました。できます。
今、私はそれを止めることはできません。ドキュメントを読みましたが、実行キューからタスクを削除する方法がわかりません。celeryctlとシェルを使用してみましたが、registry.tasks()が空であるため、削除する方法がわかりません。
「取り消す」という提案を見てきましたが、そのためにはタスクIDが必要なようで、タスクIDを見つける方法がわかりません。
ありがとう。
django - セロリのハイライトをオフにするにはどうすればよいですか?
私はcelerymanagmentコマンドを使用して、djangoアプリケーションでデバッグを行っています。
出力は本当にまぶしい色で強調表示されます。ハイライトをオフにする方法はありますか?
django - RabbitMQ が破損した永続化ログ ファイルから何度も中断されるのはなぜですか?
メッセージブローカーとしてRabbitMQを使用して、DjangoアプリでCeleryを実行しています。しかし、RabbitMQ はこのように壊れ続けています。まず、Django からのエラーです。後でわかるように、エラーの原因がわかっているため、トレースはほとんど重要ではありません。
これは、 rabbit_persister.logファイルの破損が原因であることはわかっています。これは、RabbitMQ に関連付けられているすべてのプロセスを強制終了した後、「sudo rabbitmq-server start」を実行して次のクラッシュが発生するためです。
私の現在の修正:これが発生するたびに、対応する rabbit_persister.log ファイルの名前を別のもの (rabbit_persister.log.bak) に変更し、RabbitMQ を正常に再起動できます。しかし、問題は発生し続けており、その理由はわかりません。何か案は?
また、免責事項として、私は Erlang の経験がありません。Celery が好むブローカーであるため、RabbitMQ のみを使用しています。
前もって感謝します。同じ修正を何度も繰り返しているため、この問題は本当に厄介です。
django - django-settings.DEBUGに関するセロリの警告
djceleryの実行に関していくつか質問があります。
私が走るとき
労働者は始めたようですが、警告は私に関係しています:
この警告メッセージをグーグルで検索しましたが、誰も気にしないようです。心配する必要がありますか?
どうもありがとう!
django - django-celery:結果のバックエンドが構成されていません
プロジェクトでdjango-celeryを使用しようとしています
settings.pyにあります
サーバーは正常に起動しました
しかし、遅延したタスクの結果にアクセスしたい場合、次のエラーが発生します。
(同じセロリ設定で)celerydを実行すると、問題なく動作するため、非常に奇妙です。誰かが以前にこの問題に遭遇したことがありますか?
前もって感謝します!
django - ユーザー入力に基づいて django-celery を使用してタスクをスケジュールする
django を使用してレポート ポータルを構築しています。このポータルでは、ユーザーがレポートを定期的に実行するようにスケジュールできるようにする必要があります。私は django-celery を調査しており、periodic_task デコレーターを使用して繰り返し発生するタスクをスケジュールできることを理解していますが、すべての例で、cron スケジュール情報がデコレーターにハードコードされているのを見てきました。
django-celery を使用して、ユーザーからの入力に基づいて繰り返し発生するタスクを動的にスケジュールする方法はありますか?
たとえば、ユーザーはフォームを使用して、実行するレポートを選択し、レポートに必要なすべてのパラメーターと、レポートを実行するスケジュールを指定します。フォームを処理したら、run_report タスクをスケジュールに追加するために呼び出すことができるメソッドまたは関数はありますか? もしそうなら、データベースに保存されているすべての現在のスケジュールを取得して表示できるようにする方法はありますか?