주기적인 작업을 실행하려면 내 응용 프로그램에 celery
을 사용합니다. 내가 비동기 작업을 실행 celery
를 사용하지만 (이 큐를 이후) 내가 다른 do_stuff
또는 queue.ack(uid)
에 예외의 경우 queue.fail(uid)
을 할 필요가, 당신은 위의 예에서 볼 수 있듯이 이제셀레 리에 대한 콜백 apply_async
from myqueue import Queue
@perodic_task(run_every=timedelta(minutes=1))
def process_queue():
queue = Queue()
uid, questions = queue.pop()
if uid is None:
return
job = group(do_stuff(q) for q in questions)
job.apply_async()
def do_stuff(question):
try:
...
except:
...
raise
아래 간단한 예를 들어 보자 . 이 상황에서 두 작업 모두에서 내 작업의 콜백 (on_failure
및 on_success
)을 갖는 것이 매우 분명하고 유용 할 것입니다.
documentation을 보았지만 apply_async
과 함께 콜백을 사용하는 사례는 본 적이 없습니다. 그렇게 할 수 있습니까? 작업 클래스와는 on_success 및 ON_FAILURE 기능을 오버로드