【发布时间】:2015-05-07 18:59:58
【问题描述】:
我编写了一个 celery 任务,当我单击网页上的按钮时,它会在我的数据库中设置一些值。一切都很好。现在我想编写一个更复杂的任务(disambiguation_task),它会向我的 Django 视图(1.6.5)返回一个字符串。代码是:
task_id = disambiguation_task.apply_async([json.dumps(json_request)])
async_result = AsyncResult(id=task_id,app=disambiguation_task)
只要我尝试获取结果 (async_result.get()),就会产生错误:
AsyncResult' object has no attribute 'replace'
带有以下回溯:
File "/home/patrick/django/entite-tracker-master/entitetracker/docentites/views.py" in get
466. result = async_result.get()
File "/usr/local/lib/python2.7/dist-packages/celery/result.py" in get
169. no_ack=no_ack,
File "/usr/local/lib/python2.7/dist-packages/celery/backends/amqp.py" in wait_for
155. on_interval=on_interval)
File "/usr/local/lib/python2.7/dist-packages/celery/backends/amqp.py" in consume
225. binding = self._create_binding(task_id)
File "/usr/local/lib/python2.7/dist-packages/celery/backends/amqp.py" in _create_binding
99. name = self.rkey(task_id)
File "/usr/local/lib/python2.7/dist-packages/celery/backends/amqp.py" in rkey
111. return task_id.replace('-', '')
Exception Type: AttributeError at /docentites/nodoc_desamb/news20150305NY501131/
Exception Value: 'AsyncResult' object has no attribute 'replace'
如果我尝试打印 async_result.state,也会出现同样的错误。 有人可以帮我解决这个错误吗? 问候, 帕特里克
【问题讨论】: