используйте метон on_success и on_failure в django-celery

Я использую djcelery. Я создал одну задачу.

@celery.decorators.periodic_task(run_every=datetime.timedelta(minutes=2))
def add(x, y):
    cont= 0
    print x
    print y
    for i in range(x, y):
        cont = cont+1
    return cont

я назвал это в view.py

def home(request):
    print "debug"
    st = add.delay(63,230)
    return  render(request, 'home/home.html', {})

теперь, как я могу определить, что задача завершена или не удалась. я хочу выполнять определенные действия в случае успеха и неудачи.


person Wagh    schedule 17.08.2015    source источник
comment
документы довольно ясно показывают, как использовать это.   -  person scytale    schedule 17.08.2015
comment
На самом деле нет, это не так.   -  person Seth    schedule 29.05.2016


Ответы (1)


Зависит от вашего варианта использования, но один из способов — сохранить флаг в памяти (кэш, база данных и т. д.) и соответствующим образом обновить его.

Чтобы отобразить любой интерфейс асинхронных обновлений, создайте конечную точку, чтобы проверить флаг и опросить ее с помощью ajax.

person Hedde van der Heide    schedule 17.08.2015
comment
как использовать методы on_succeed() и on_failure() класса TaskEvent? - person Wagh; 17.08.2015