2014-06-19 80 views
5

我已經配置芹菜沒有屬性和後端:當我啓動工作芹菜結果後端。 DisabledBackend對象有_get_task_meta_for

cleryapp = Celery(
    'tasks_app', brocker='amqp://[email protected]//', 
    backend='db+postgresql://[email protected]:5432' 
) 

「結果」顯示爲禁用,但我在這裏讀的另一個問題是,這不是問題。

的數據庫正確獲取所有數據,但

result = AsyncResult(task_id) 

提高

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

嘗試使用'通過設置CELERY_RESULT_BACKEND'。 – daniula

+0

啓動stdout顯示正確的結果地址現在...但提出了完全相同的異常... –

回答

4

嘗試用這個代替其中的任務是你的任務函數的名稱:

result = task.AsyncResult(task_id) 
11

我找到了一個更方便的方法來做到這一點。

result = celery.AsyncResult(task_id) 

celery是您的應用程序,而不是芹菜模塊的芹菜實例。

+0

歡迎來到StackOverflow。請考慮在代碼塊中放置代碼組件。例如,「芹菜」而不是*芹菜*。 – Krumia

0

就跟它說celery,你應該指定後端的價值, 就像:app = Celery("tasks", broker='mongodb://localhost:27017/test',backend='mongodb://localhost:27017/test1')