2016-11-25 4 views
1

У меня есть некоторые задачи, которые должны возвращать результат и некоторые задачи, которые этого не делают. Я хочу заставить задачи, которые не должны возвращать результат, не писать ничего в бэкэнде результата (например, Нет). Как я могу достичь этого в сельдерей?Задачи сельдерея без результата написать в конец backend

Например, это мои задачи:

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

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

А также у меня есть специальная очередь для некоторых других задач, которые также не возвращать никакого результата, я могу отметить, что очереди, как с задачами, которые mustn» t записать в исходный файл результата?

ответ

3

Из документа сельдерея вы можете установить игнорировать флаг результата на True. 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