from celery.result import AsyncResult ret = send_sms.delay() #执行的任务如果需要参数,那么就直接在delay方法里面写:send_sms(mobile,sms_code),执行时:delay(mobile,sms_code) async_task = AsyncResult(id=ret.id,app=send_sms) print(async_task.successful()) result = async_task.get() print(result...
在使用 Celery 终止任务时,从代码的健壮性和正确性考虑,有几点需要注意。通过 AsyncResult 的状态去判断任务是否可以终止,然后决定是否调用 revoke 是一种可行的方法。但需要注意一些使用情境和潜在的风险。终止任务的步骤获取任务状态: 通过 AsyncResult 获取任务的当前状态。 检查状态并决定: 如果状态是 PENDING 或...
result = uc.AsyncResult(task_id) 到 from tasks import celery as celery_app result = uc.AsyncResult(task_id, app=celery_app) 或者,您可以更通用,不指定特定任务(也用于其他任务的未来状态): from tasks import celery as celery_app result = celery_app.AsyncResult(task_id) 最新...
from celery.result import AsyncResult from proj.celery import app def check_result(task_id): async1 = AsyncResult(task_id, app=app) if async1.successful(): result = async1.get() return('执行成功') elif async1.failed(): print('执行失败') return '执行失败' elif async1.status == 'PE...
from app import taskres = task.delay("古明地觉", 17)print(type(res))"""<class 'celery.result.AsyncResult'>"""# 直接打印,显示任务的 idprint(res)"""4bd48a6d-1f0e-45d6-a225-6884067253c3"""# 获取状态, 显然此刻没有执行完# 因此结果是PENDING, 表示等待状态print(res.status)"""PENDING...
delay 返回的是一个 AsyncResult 对象,里面存的就是一个异步的结果,当任务完成时result.ready()为 true,然后用result.get()取结果即可。 到此,一个简单的 celery 应用就完成啦。 2. 进阶用法 经过快速入门的学习后,我们已经能够使用 Celery 管理普通任务,但对于实际使用场景来说这是远远不够的,所以我们需要更深...
apply_async和delay会返回一个异步的任务结果,AsyncResult中存储了任务的执行状态和结果,常用的操作 value = result.get()# 任务返回值print(result.__dict__)# 结果信息print(result.successful())# 是否成功print(result.fail())# 是否失败print(result.ready())# 是否执行完成print(result.state)# 状态 PENDI...
fromappimporttaskres=task.delay("古明地觉",17)print(type(res))"""<class 'celery.result.AsyncResult'>"""# 直接打印,显示任务的 idprint(res)"""4bd48a6d-1f0e-45d6-a225-6884067253c3"""# 获取状态, 显然此刻没有执行完# 因此结果是PENDING, 表示等待状态print(res.status)"""PENDING"""# 获...
asy = AsyncResult(id=id, app=app) if asy.successful(): # 顺利执行完了,可以取结果了 res = asy.get() # 任务执行的结果 print(res) elif asy.failed(): print('任务失败') elif asy.status == 'PENDING': print('任务等待中被执行') ...
Celery是一个Python分布式任务队列框架,用于处理异步任务。在Celery中,AsyncResult是一个用于跟踪异步任务状态和获取结果的对象。通常情况下,当我们使用Celery执行异步任务时...