2016-11-25 48 views
1

我有一些任务应该返回结果,一些任务不。 我想强制任何不应返回结果而不在结果后端写入任何内容(例如None)的任务。我如何在Celery中实现这一点?芹菜任务没有结果写入结果后端

例如,它是我的任务:

@app.task 
def taskWithResult(): 
    # ...code... 
    return res 

@app.task 
def taskWithNoResult(): 
    # ...code without return... 

而且我也有一些其他的任务,也不会返回任何结果的特殊队列,我可以标记该队列与任务,其中千万不能” t写入结果后端?

回答

3

从芹菜文件,你可以设置忽略结果标志为真。 http://docs.celeryproject.org/en/latest/reference/celery.app.task.html?highlight=default_retry_delay#celery.app.task.Task.ignore_result

例如:

@app.task(ignore_result=True) 
def taskWithNoResult(): 
    # ...code without return.. 
+0

是标记任务队列中的任何方式? –

+0

您可以使用apply_async选择任务队列。 [链接](http://docs.celeryproject.org/en/latest/userguide/calling.html?highlight=apply_async#routing-options) – Jinje