一、任务交给Celery
Django任务交给Celery的方法和普通使用Celery任务的调用基本无区别,只是将执行代码的放到到View视图中
而获取结果,往往并不能把结果和第1次请求一起响应,若想获取结果是通过第2次请求获取结果
代码如下:
from django.http import HttpResponsefrom celery.result import AsyncResultfrom .tasks import send_email,send_sms
# Create your views here.
def index(request):# 调用任务函数work_id1 = send_email.delay('baizhan')work_id2 = send_sms.delay('sxt')return HttpResponse(f"已经执行了定时,任务ID:{work_id1}=={work_id2}")def result(request):work_id = request.GET.get('work_id')# 创建获取结果的对象result = AsyncResult(work_id)# 获取任务的结果res = result.get()return HttpResp