問題タブ [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.

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

python - celeryd を通常のユーザーとして実行することはできませんが、root で実行します

私はインストールcelerydし、django-celery

私は経由して実行しますpython manage.py celeryd

root経由で実行すると、このメッセージが表示されます

WARNING/MainProcess] /opt/python27/lib/python2.7/site-packages/celery-2.2.7-py2.7.egg/celery/apps/worker.py:124: UserWarning: スーパーユーザー権限で celeryd を実行することはできません勧められた!「スーパーユーザー権限で celeryd を実行することはお勧めしません!」)

しかし、通常のユーザーで実行すると、これが得られます

セロリの卵の下のすべてのファイルにグループの読み取り書き込み実行権限を追加し、すべてのセロリファイルのグループをユーザーに変更しましたが、それでも同じエラーが発生します

0 投票する
0 に答える
947 参照

python - セロリデーモンスクリプトがinitスクリプトでバックグラウンドにならない

セロリのドキュメントによると

However, in production you probably want to run the worker in the background as a daemon.

以下のようにinit.dスクリプトを作成しました

私が実行するとき/etc/init.d/celeryd start

今は正常に動作しますが、バックグラウンドではなくフォアグラウンドで再び実行されます

そうですか、それとも間違っていますか

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

django - Django で複数のサイトを実行する場合、別の celeryd を実行する必要がありますか?

現在、Django に 1 つのサイトがあります。しかし、私はより多くの Django サイトを運営する予定です。

celeryd新しいサイトごとに実行する必要があるのか​​、それとも 1 つでも十分なのかを知りたいのです。

スーパーバイザー経由で `celeryd デーモンを実行しています

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

python - セロリの監視がデータベースブローカーで機能しない

データベースをブローカーと結果ストアの両方として使用して、django-celery を使用しています。イベントは処理されていますが、監視 (celerycam または celeryev) が機能していません。

マイsettings.pyインクルード

これは、どこからでもキューに挿入されたmanage.py celerydタスクを処理し、場合によってはタスクを開始したスレッドに結果を返すのに十分です。cbridge.tasks(今のところはそのままにしておきます。) これで、タスクを実際に実行するのに十分なシステムがセットアップされました。これは素晴らしいことですが...

私の質問は、タスクの監視を取得する方法です。djcelery_テーブルには何も表示されません。

manage.py celerycamまたは実行するmanage.py celeryevと、問題なく起動しますが、何もしません。設定する必要がある構成変数は他にもあると思います。しかし、彼らは何ですか?設定してみました

しかし、それらは何の違いもありません。私は、celeryd と同じ構成設定を期待celeryevし、読み取ることができます。celerycamなぜ彼らはそうしないのですか?

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

django - Celery タスクで Django の ORM を使用する

Celery タスクはどのようにして Django データベース抽象化 API にアクセスできますか? これは、スタンドアロンの Django ORM を使用するための戦略の 1 つを使用してゼロからコーディングする必要がありますか?それとも、より合理化された組み込みの方法または一般的な方法がありますか?

誰もこの質問をしていないようです。しかし、私にとっては、それが基本です。

このは大したことではないことを示していますが、Celery と Django の間でセッション管理と ORM スコープがどのように機能するかを誰か説明できますか?

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

django - Django-Celery-管理ページからタスクを再送信しますか?

私は現在、Django-CeleryアプリでDjango1.3を使用するプロジェクトに取り組んでいます。ちなみに、セロリに不慣れな方はぜひチェックしてみてください。

管理ページの機能について具体的な質問があります。

セロリタスクを使用して、サードパーティパートナーへのRESTfulAPI呼び出しを行っています。これらの呼び出しは実際にはユーザーアクションによって開始されるため、この場合にセロリタスクが非常に役立つことがわかります。

何らかの理由でコールバックが失敗した場合に、管理者がコールバックを再送信できるようにする方法についてのユーザーストーリーがあります。現在、コールバックが標準のHTTP応答の失敗で失敗した場合、セロリの再試行メカニズムを使用して、さまざまな間隔で自動的に再送信しています。ただし、これらのコールバックは数千のパートナーの1つに対して行われる可能性があり(そうです、たくさんあります)、すべてのパートナーが失敗応答として標準のHTTP応答コードを使用するわけではありません。

簡単に言えば、管理インターフェースを介してセロリタスクを再送信できることを示すものをオンラインで見つけることができませんでした。私は誰かがこれにいくらかの光を当てることができることを望んでいました。持っている機能はかなり明白なようですが、そのような機能がない場合は、それには十分な理由があると確信しています。誰かが理由を説明できれば、それを行う方法がなければ、私はそれが大好きです。セロリの内部の働きについてもっと知りたいだけです。

みんな、ありがとう!言葉遣いで申し訳ありませんが、時々私はぶらぶらする傾向があります。

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

django - Celeryタスクは、データベースへの書き込み以外のすべてを実行するようです

私はDjangoをMongoEngine、django-celery、およびセロリ用のMongoDBバックエンドで使用しています。1つのタスクをキューに入れています。このタスクには、GridFSから(MongoEngine FileFieldを介して)ファイルをフェッチし、それを操作してデータベースに戻すことが含まれます。

タスクは、キューに入れずに期待どおりに実行されます。キューに入れると、ファイルは変換されますが、データベースには書き込まれません。

これが私のsettings.pyの関連部分です。

私はこのようにセロリを走らせています

タスクを実行すると、セロリはこれを言います

(エラーなし)

これがタスクです。

convertは、他の多くの関数を呼び出します。基本的に、最初にFileFieldから読み取り、その文字列を操作し、その文字列をファイルに書き込み、そのファイルを操作し、生成された文字列とファイルを他のFileFieldに書き込み、次にimage.save()を実行します。

タスクをキューに入れるかどうかによって、mongoログの外観は異なります。これは、タスクキューを使用したときにmongoログで発生することです。

これは、queue_convert(image.id)を呼び出す代わりにconvert(image)を直接呼び出すとどうなりますか。

何がうまくいかないかについて何か考えはありますか?

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

django - Celery は、ソース コードをコピーせずに別のコンピューターでパフォーマンス集約型のタスクを実行できますか?

良い一日!

セロリについてお聞きしたいです。プロジェクトがあり、3 つのタスクがあります (cron、管理コマンドで実行)。これらのタスクは、リソースを大量に消費し、負荷の高いサーバー Web サーバーです。

これらのタスクを別のコンピューター (別のサーバーがあります) で実行し、結果をメイン データベースに格納したいと考えています。

これを行うには、プロジェクト全体を別のサーバーにコピーし、そこで Web サイトを実行せず、タスクのみを (cron 経由で) 実行します。しかし、ソース コードの同一のコピーが 2 つあるため、あまり良くありません。そして、変更する場合は、Web サーバーにコードを入力してから、リソースを集中的に使用するタスクに割り当てられたサーバーにコピーする必要があります..

セロリでこれを行うことはできますか?つまり、プロジェクトは 1 つのコピーですが、私のタスクは別のサーバー上にありますか? それとも、これらのコマンドを実行するサーバーにすべてのファイルをコピーする必要がありますか?

ありがとうございました。

PS私の英語でごめんなさい。

0 投票する
6 に答える
8646 参照

django - django で syncdb を実行すると、celery_taskmeta やその他のテーブルが作成されないのはなぜですか?

セロリとジャンゴをセットアップしようとしていますが、celery_taskmeta テーブルが作成されていません。

多数の (最近の) チュートリアルに従い、djcelery と djkombu を installed_apps に追加しました。「BROKER_TRANSPORT = "djkombu.transport.DatabaseTransport"」行を設定などに追加しました。

デーモンを問題なく実行でき、タスクを実行しますが、最後に次のトレースバックを吐き出します。

==============

-============================

では、syncdb 中にこのテーブルを作成するにはどうすればよいのでしょうか。

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

python - Ajaxを使用してdjango-celeryタスクのステータスと結果を確認するにはどうすればよいですか?

Django Celeryのドキュメントには、タスクのステータスを取得するために確認できるURLがあることが示されています。これらのURLは何ですか?