0

これと同様の問題があります: 新しいタスクを投稿すると、Celery Flower で「不明なタスク」エラーが発生する

ただし、以前の問題で言及された修正が既に行われている flower 0.7.3 を実行しています。花をロードすると、次のように表示されます。

[D 141025 19:22:44 状態:87] 登録済み: {'celery@myhost': ['crossbar.tasks.add.add',
                             'crossbar.tasks.ping.ping',
                             'crossbar.tasks.send_email.send_email',
                             'crossbar.tasks.send_message.send_message',
                             'クロスバー.タスク.send_sms.send_sms']}
[D 141025 19:22:49 イベント:116] イベントを有効にする
[D 141025 19:22:50 状態:153] ワーカーの検査を再開しています...
[I 141025 19:22:50 tasks:99] '[1, 2]' と '{}' を使用してタスク 'crossbar.tasks.add.add' を呼び出す
[W 141025 19:22:50 web:1404] 404 POST /api/task/async-apply/crossbar.tasks.add.add (127.0.0.1): 不明なタスク 'crossbar.tasks.add.add'
[W 141025 19:22:50 ウェブ:1811] 404 POST /api/task/async-apply/crossbar.tasks.add.add (127.0.0.1) 1.11ms

しかし、POST が失敗したことがわかるように、次のように投稿しようとしています。

curl -X POST -d '{"args":[1,2]}' http://myhost:15629/api/task/async-apply/crossbar.tasks.add.add

これが私がCeleryを実行している方法です: celery -A myapp worker --loglevel=info

そして、次のように別のプロセスで花を実行しています: flower --conf=src/crossbar/flowerconfig.py

async-apply を send-task に置き換えると、200 が返されますが、セロリ コンソールでは次のエラーが表示されます。

[2014-10-26 17:03:06,640: CRITICAL/MainProcess] メッセージ本文をデコードできません: ContentDisallowed('pickle 型の信頼できないコンテンツの逆シリアル化を拒否しています (application/x-python-serialize)',) [type:' application/x-python-serialize' encoding:'binary' headers:{}]

本文: '\x80\x02}q\x01(U\x07expiresq\x02NU\x03utcq\x03\x88U\x04argsq\x04]q\x05(K\x01K\x02eU\x05chordq\x06NU\tcallbacksq\x07NU\x08errbacksq\x08NU\ x07tasksetq\tNU\x02idq\nU$f1e8fc87-d0ee-4fc6-86cb-8edded4a4f4cq\x0bU\x07retriesq\x0cK\x00U\x04taskq\rX\x16\x00\x00\x00crossbar.tasks.add.addq\x0eU\ttimelimitq\x0fNN\ x86q\x10U\x03etaq\x11NU\x06kwargsq\x12}q\x13u.' (229b)
トレースバック (最新の呼び出しが最後):
  ファイル "/Users/psantan/Documents/git/crossbar-taskmgr_trunk/.tox/crossbar-taskmgr/lib/python2.6/site-packages/kombu/messaging.py"、586 行目、_receive_callback 内
    decoded = None if on_m else message.decode()
  ファイル "/Users/psantan/Documents/git/crossbar-taskmgr_trunk/.tox/crossbar-taskmgr/lib/python2.6/site-packages/kombu/message.py"、142 行目、デコード
    self.content_encoding、accept=self.accept)
  ファイル "/Users/psantan/Documents/git/crossbar-taskmgr_trunk/.tox/crossbar-taskmgr/lib/python2.6/site-packages/kombu/serialization.py"、174 行目、読み込み中
    self._for_untrusted_content(content_type, 'untrusted') を上げる
ContentDisallowed: タイプ pickle (application/x-python-serialize) の信頼できないコンテンツのデシリアライズを拒否しています

OK、受け入れられるコンテンツのリストに「pickle」を追加すると、シリアル化エラーが発生しなくなりました。ただし、花はまだ私のタスクを認識していないため、async-apply は機能しません。私はセロリアプリを介して初期化しているのではなく、flowerconfig.pyを使用しているため、flower -Aアプリを機能させることができませんでした。それらを花で登録する適切な方法は何でしょうか?

4

1 に答える 1

2

appflower に引数を渡していないようです。花を開始するには、それを呼び出す必要があります

flower -A your_app

また

celery flower -A your_app

引数を渡さないappと、404 エラーがスローされます。

于 2014-10-26T05:52:44.897 に答える