2010-01-26 18 views
5

Ben sadece kereviz ve rabbitmq'ı kurdum, kullanıcımı yarattım, vhostu kur, kullanıcıyı vhost'la eşleştirdim ve celery daemon'u başarıyla çalıştırdım (ya da ben öyleRabbitMQ/Kereviz ile Django gecikme/hazır/etc askıda kalıyor - Yararlı bilgiler yok

(queuetest)[email protected]:~/projects/queuetest$ ./manage.py celeryd 
[email protected] v0.9.5 is starting. 
Configuration -> 
. broker -> amqp://[email protected]:5672/ 
. queues -> 
. celery -> exchange:celery (direct) binding:celery 
. concurrency -> 2 
. loader -> celery.loaders.djangoapp 
. logfile -> [stderr]@WARNING 
. events -> OFF 
. beat -> OFF 

Celery has started. 

ben "kereviz" Ben bu durumda çok yaratıcı hissetmediğini çünkü bir kullanıcı oluşturduk) varsayalım.

>>> from tasks import add 
>>> r = add.delay(2, 2) 
>>> r 
<AsyncResult: 16235ea3-c7d6-4cce-9387-5c6285312c7c> 
>>> r.ready() 
(hangs for eternity.) 

Yani yukarı olabilir başka ne merak SSS kontrol ve bu durum kullanıcı izinleri ortak bir hata olduğunu söyledi:

Ben kereviz dokümanlar içinde basit örneklerden birini yapmaya çalışacağım

Bu yüzden, üç kere kontrol ettim, hiçbir şey, yeni bir kullanıcı yaptı, hala hiçbir şey. DjangoBrokerConnection'u carrot.connection'dan içe aktarır ve bilgileri alırsam, kereviz ayarlarında olanla eşleşir. SSS, günlük dosyanızı kontrol etmek için belirtti.

Benim rabbit.log dosya basitçe göstererek bu durumda çok yararlı değildir: vb

=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 

Ve. Bu noktada, sorunumun başka ne olabileceği konusunda bir kayıp yapıyorum. Ubuntu Jaunty'yi çalıştırıyorum ve apt-get'den RabbitMQ'yi kurdum.

Yardımlarınız için şimdiden teşekkür ederiz.

+0

celeryd - --loglevel = INFO ile çalıştırmayı deneyin, böylece görevin alındığını ve işlenip işlenmediğini görebilirsiniz. Ayrıca, hangi sonucu arka uç kullanıyorsunuz? – asksol

cevap

4

Sadece bu durumun neden olabileceği yeni kullanıcılar için ortaya çıkacak çok çirkin bir hata düzeltdim. (http://github.com/ask/celery/commit/a9c1316b15055b67ee3c38d294461fa82ed6d2b5)

Lütfen ana şubeden github'dan çekin. Eğer hala çalışmıyorsa, muhtemelen rabbitmq'i durdurmak zorundadır, rabbitmq veritabanı dizinini kaldırın (genellikle /var/lib/rabbitmq) ve tekrar tavşanmq'ı başlatın)

Rahatsızlıktan dolayı özür dilerim. Hata, tüketicilerin yönlendirme anahtarı seçeneğini "bağlayıcı anahtar" olarak değiştirdi, ancak amqp kitaplıkları hala routing_key kullanıyordu ve bu seçeneği yeniden yazmayı unuttuk.

+0

Teşekkürler .. Geç cevap için özür dilerim, vay ben meşgul oldum! Ama bu işe yaradı. Ayrıca, 1.0 sürümünde grats :) – Bartek

+0

Beni de bu konuda aldım:> – fest

2

Bu konuda tökezleyen herkes için: sorun, kereviz güncellenmesiyle ortadan kalkmış gibi görünse bile, gerçekten/var/lib/rabbitmq öğesinin kaldırılmasına yardımcı oluyor gibi görünüyor. Ben bunu yapana kadar pek çok güvenilirlik ve öngörülemezlik görüyordum.

İlgili konular