Django与Celery和RabbitMQ

时间:2017-05-24 05:08:03

标签: django rabbitmq celery

我正在使用一个应用程序,我必须使用Celery和RabbitMQ异步发送电子邮件。如何检查工作人员是否发送了电子邮件或失败?

1 个答案:

答案 0 :(得分:0)

This SO explains what you are looking for.

基本上,以下是您需要做的事情。

task_id = uuid()
result = sendemail.apply_async((), task_id=task_id)
Now you know exactly what the task_id is and can now use it to get the AsyncResult:

# grab the AsyncResult 
result = celery.result.AsyncResult(task_id)

# print the task id
print result.task_id
09dad9cf-c9fa-4aee-933f-ff54dae39bdf

# print the AsyncResult's status
print result.status
SUCCESS

# print the result returned 
print result.result
'Email sent successfully'