Quindi ho appena impostato sedery e rabbitmq, creato il mio utente, configurato il vhost, mappato l'utente al vhost ed eseguito con successo il demone di sedery (o almeno così presumo)RabbitMQ/Celery con Django si blocca su delay/ready/etc - Nessuna informazione di log utile
(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.
ho creato un utente di "sedano", perché non mi sentivo molto inventiva in questo caso.
Quando provo a fare uno degli esempi semplici all'interno dei documenti di sedano:
>>> from tasks import add
>>> r = add.delay(2, 2)
>>> r
<AsyncResult: 16235ea3-c7d6-4cce-9387-5c6285312c7c>
>>> r.ready()
(hangs for eternity.)
Così ho controllato le FAQ chiedendo cosa altro potrebbe essere fino e mi ha detto che questo è un bug comune a causa autorizzazioni utente , quindi ho triplicato quelli, niente, fatto un altro nuovo utente, ancora niente. Se importare DjangoBrokerConnection
da carrot.connection
e ottenere le informazioni, corrisponde a ciò che è nelle mie impostazioni di sedano. Le FAQ hanno dichiarato di controllare il tuo file di registro.
Il mio file rabbit.log
non è molto utile in questa situazione, semplicemente mostrando:
=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
e così via. A questo punto, sono in perdita su quale altro potrebbe essere il mio problema. Sto usando Ubuntu Jaunty e installato RabbitMQ da apt-get.
Grazie in anticipo per qualsiasi aiuto.
Prova a eseguire celeryd con --loglevel = INFO, in modo che tu possa vedere se l'attività è stata ricevuta ed elaborata o meno. Inoltre, quale risultato backend stai usando? – asksol