問題タブ [celeryd]
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.
celery - ckanext-archiver の使用時にコマンド「celeryd」が不明
私はオープン データ ポータルとして CKAN を使用しており、https://github.com/ckan/ckanext-archiverの指示に従ってアーカイバ拡張機能をインストールしています。次のようにセロリをインストールしました。
しかし、私はそれを実行することができません。
私の CKAN ルート ディレクトリ: usr/lib/ckan/default/src ckan 設定ファイルへのパス: /etc/ckan/default
誰かが私の問題を解決してくれることを願っています。ありがとう。
python - 「セロリストップ」が機能しない
セロリを珍しい方法で使用しています-セロリの開始時にカスタムプロセスを作成しています.このプロセスは、セロリの実行中は常に実行されている必要があります. Celery ワーカーは、このプロセスをタスクに使用します (詳細は不要です)。
コマンドラインからセロリを実行しましたが、すべて問題ありません。
しかし、celeryd
セロリをデーモン化するために使用すると、それを止める方法がありません。コマンドceleryd stop
はセロリを停止しようとしますが、終了しません。
どちらの場合もプロセス ツリーを確認すると、違いがあります。コマンド ラインから実行する場合、親は明らかにセロリ プロセスです (子としてセロリ ワーカーを持つメイン プロセス)。親のセロリ プロセスを強制終了 (停止) すると、すべてのセロリ ワーカーとカスタム プロセスが停止します。
しかし、で実行するとceleryd
、カスタムプロセスに親が/sbin/init
あり、呼び出しceleryd stop
が機能していません。メインのセロリプロセスが何かを待っているか、セロリの子プロセスではないため、カスタムプロセスを停止できないようです。
私はプロセスについてあまり知りませんし、何を検索すればよいのかわからないため、情報を見つけるのは簡単ではありません。そのため、ヒントをいただければ幸いです。
python - セロリの結果エラー「引数はリストまたはタプルでなければなりません」
Django Web サイトを実行していて、Celery を実行したばかりですが、紛らわしいエラーが発生します。コードの構造は次のとおりです。
tests.py で:
tasks.py で:
mainapp/settings.py で:
リスト/タプルによるマストのセロリデバッグコンソールログ:
私が得ているエラーは上記のとおりですAsyncResult(c.id).result: task args must be a list or tuple
。これは簡単な解決策のはずですが、そうではありません。リストにすると次のようになります。
それから気が変わって、私にこう言いますAsyncResult(c.id).result: int() argument must be a string or a number, not 'list'
ご想像のとおり、何が問題なのか、私は非常に混乱しています。
編集
タスク.py
tests.py
function.app の出力
django - Windows でセロリを実行する
私は Django を使用しており、開発環境は Windows です。昨日、RabbitMQ を使用してラップトップでセロリを実行するために丸一日を費やしました。私はすべてのチュートリアルを実行しましたが、ウィンドウに関する特別な言及はありませんでした。Celery の公式ドキュメント: http://celery.readthedocs.org/en/latest/django/first-steps-with-django.htmlに従いました。
最終的に、Ubuntuで実行しようとしましたが、すべてうまくいきました。celery または manage.py celeryd を使用してワーカーを実行すると、ワーカーがスタックします。
python manage.py セロリ ワーカー -E -l デバッグ
cygwin から celeryd を実行しようとしましたが、うまくいきませんでした。私の RabbitMQ 構成は問題なく、django が RabbitMQ にメッセージを送信できることがわかります。
それはWindowsに関連するものであり、構成の欠陥ではないと確信しています。これが私の構成です:
また、127.0.0.1 の代わりに「localhost」を使用しました。
Windowsのセロリについて何か知っている人はいますか? 他の提案はありますか?
python - 通常のセロリコマンドでセロリをデーモンとして実行する方法
セロリタスクを使用してバックグラウンドでcsv処理を実行しているdjangoアプリがあるため、このコマンドでrabbitmq-server
rabbitmq sudo apt-get install rabbitmq-server
-serverがインストールされ、正常に実行されました。
tasks.py
そして、アプリ内のモジュールにいくつかのセロリタスクコードがあり、以下のようにセロリを実行しています
これは正常に動作し、csvファイルをバックグラウンドで正常に実行していましたが、上記のコマンドをデーモン化したいだけで、デーモン化するオプションについて検索しましたが-D
、上記のコマンドをデーモン化するために渡す引数が見つかりませんでした。上記のコマンドをデーモン化してセロリを実行できる方法はありますか?
rabbitmq - アイドルプロセスがある場合、セロリに次のタスクを強制的に消費させる方法は?
RabbitMQ からタスクをフェッチするようにセロリをセットアップしましたが、例外として機能していますが、次の動作に気付きました ( T
: タスク、P
: プロセス):
この時点で、同時実行数を 6 に設定し、アクティブなプロセスが 1 つしかないにもかかわらず、他のタスクは実行を開始しません。セロリの花でadd_consumerコマンドを試しましたが、何も起こらないようです。RabbitMQ でACK
、メッセージがまだないREADY
状態で、さらに 2 時間は消費されないため、状態のメッセージが積み重なっていくのがわかります。
元のバッチが完全に終了するのを待つのではなく、プロセスが空いているときはいつでも次のタスクを消費するようにセロリをセットアップする方法はありますか?
django - Celery ワーカーは Amazon sqs での作業を停止します
私はsqsでセロリ3.1.9を使用しています。ワーカー common_w をデーモンとして実行しています。sqs の共通キューで動作します。ワーカーが予期せずタスクの処理を停止します。例外もエラーもありません。
オプション -l DEBUG を使用した最後のログ:
更新: strace 言います:
次に、構成で設定しました:
うまくいくまで…