だから私はceleryとrabbitmqをセットアップし、ユーザーを作成し、vhostをセットアップし、ユーザーをvhostにマップし、celeryデーモンを正常に実行しました(またはそう思います)
(queuetest)corky@corky-server:~/projects/queuetest$ ./manage.py celeryd
celery@corky-server v0.9.5 is starting.
Configuration ->
. broker -> amqp://celery@localhost:5672/
. queues ->
. celery -> exchange:celery (direct) binding:celery
. concurrency -> 2
. loader -> celery.loaders.djangoapp
. logfile -> [stderr]@WARNING
. events -> OFF
. beat -> OFF
Celery has started.
この場合、私はあまり独創性を感じていなかったので、「セロリ」のユーザーを作成しました。
セロリのドキュメント内で簡単な例の1つを実行しようとすると、次のようになります。
>>> from tasks import add
>>> r = add.delay(2, 2)
>>> r
<AsyncResult: 16235ea3-c7d6-4cce-9387-5c6285312c7c>
>>> r.ready()
(hangs for eternity.)
そこで、FAQをチェックして、他に何が起きているのか疑問に思いました。これはユーザー権限による一般的なバグであるとのことでした。そこで、それらをトリプルチェックし、何もせず、別の新しいユーザーを作成しましたが、まだ何もありません。からインポートDjangoBrokerConnection
しcarrot.connection
て情報を取得すると、セロリの設定と一致します。FAQには、ログファイルを確認するように記載されています。
私のrabbit.log
ファイルはこの状況ではあまり役に立ちません。単に次のように表示されます。
=INFO REPORT==== 26-Jan-2010::11:58:22 ===
accepted TCP connection on 0.0.0.0:5672 from 127.0.0.1:60572
=INFO REPORT==== 26-Jan-2010::11:58:22 ===
starting TCP connection <0.1120.0> from 127.0.0.1:60572
などなど。この時点で、私は自分の問題が他に何であるかについて途方に暮れています。Ubuntu Jauntyを実行していて、apt-getからRabbitMQをインストールしています。
助けてくれてありがとう。