>>> from tasks import add
>>> result = add.delay(3,5)
>>> result.ready()
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/djangoprojects/venv/local/lib/python2.7/site-packages/celery/result.py", line 105, in ready
return self.state in self.backend.READY_STATES
File "/djangoprojects/venv/local/lib/python2.7/site-packages/celery/result.py", line 184, in state
return self.backend.get_status(self.task_id)
File "/djangoprojects/venv/local/lib/python2.7/site-packages/celery/backends/base.py", line 414, in _is_disabled
raise NotImplementedError("No result backend configured. "
NotImplementedError: No result backend configured. Please see the documentation for more information.
cevap
o kabuğundan
python manage.py shell
Ve deneyin komutlar. Bunların bir kısmının, daha açık bir şekilde ortaya çıkacağını belirten büyük belgelerin tümü düşünebilir.
Hem RabbitMQ'nu yukarı hem de çalışır durumda tuttuğunuzu (çalıştırması gerekiyor) ve dj-celery yüklendiğini varsayalım.
Bunu yaptıktan sonra yapmanız gereken tek şey, bu tek satırı setting.py dosyanıza eklemektir.
BROKER_URL = "amqp://guest:[email protected]:5672//"
Sonra syncdb çalıştırın ve kullanarak bu şeyi başlatmak gerekir: Eğer yakalanan olayları istediğiniz
python manage.py celeryd -E -B --loglevel=info
-E
devletler ve -B
sen celerybeats çalıştıran istediğiniz belirtiyor. Birincisi, yönetici penceresinde gerçekten bir şey görmenizi sağlar ve daha sonra programlamanızı sağlar. Sonunda, olayları ve durumu gerçekten yakalayacağınızdan emin olmanız gerekir.
./manage.py celerycam
Ve sonra nihayet senin docs sağlanan çalışma örneği görmek mümkün .. - Yine diyor olduğunu tasks.py yarattı varsayarak: Yani başka terminalde bu çalıştırın. Daha sonra, durumunuzu yönetici panelinde görüntüleyebilirsiniz. Ayrıca, daha sonra yönetim panelindeki durumunuzu görebilirsiniz.
umarım bu yardımcı olur !! Bana yardımcı olan bir şey daha eklerim. RabbitMQ Log dosyasını izlemek, django-kereverin aslında RabbitMQ ile konuştuğunu belirlememde yardımcı oldu.
Ben tavşanmq çalışan ve django-kereviz yüklü vardı, ama ben django-kereviz çalışan yoktu. – johnlockwood
Eğer Django kereviz çalıştırıyor musunuz? Eğer öyleyse, django (veya teknik terim ne olursa olsun) bağlamında bir python kabuğu başlatmanız gerekiyorsa.
Tipi: Sadece bu yüzden bu biraz ışık tutabilecek bu geçti
Python kabuğunu aynı dizinden celeryconfig.py ile mi çalıştırıyorsunuz? – mher