Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Celery with RabbitMQ: AttributeError: 'DisabledBackend' object has no attribute '_get_task_meta_for'

Tags:

python

celery

I'm running the First Steps with Celery Tutorial.

We define the following task:

from celery import Celery  app = Celery('tasks', broker='amqp://guest@localhost//')  @app.task def add(x, y):     return x + y 

Then call it:

>>> from tasks import add >>> add.delay(4, 4) 

But I get the following error:

AttributeError: 'DisabledBackend' object has no attribute '_get_task_meta_for' 

I'm running both the celery worker and the rabbit-mq server. Rather strangely, celery worker reports the task as succeeding:

[2014-04-22 19:12:03,608: INFO/MainProcess] Task test_celery.add[168c7d96-e41a-41c9-80f5-50b24dcaff73] succeeded in 0.000435483998444s: 19  

Why isn't this working?

like image 288
Casebash Avatar asked Apr 22 '14 09:04

Casebash


1 Answers

Just keep reading tutorial. It will be explained in Keep Results chapter.

To start Celery you need to provide just broker parameter, which is required to send messages about tasks. If you want to retrieve information about state and results returned by finished tasks you need to set backend parameter. You can find full list with description in Configuration docs: CELERY_RESULT_BACKEND.

like image 55
daniula Avatar answered Oct 03 '22 00:10

daniula