相关疑难解决方法(0)

回调芹菜apply_async

celery在我的应用程序中使用它来运行定期任务.我们来看下面的简单示例

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
Run Code Online (Sandbox Code Playgroud)

正如您在上面的示例中所看到的,我celery用来运行异步任务,但是(因为它是一个队列)我需要queue.fail(uid)在异常do_stuffqueue.ack(uid)其他情况下执行.在这种情况下,在两种情况下从我的任务中获得一些回调是非常明确和有用的 - on_failureon_success.

我看到了一些文档,但从未见过使用回调的做法apply_async.有可能吗?

python celery

9
推荐指数
2
解决办法
2万
查看次数

标签 统计

celery ×1

python ×1