上一篇中我们已经把配置搞定了,接下来。。。
1. 在需要使用异步任务的APP目录下新建一个 tasks.py(不能写错!!!) 文件
接下来在tasks.py写task逻辑
from celery import task
from django.core.mail import send_mail
from django.conf import settings
import time
@task
def first_task(loopnum):
# 模拟一个耗时操作
for i in range(loopnum):
time.sleep(2)
print("睡后1元")
2.在views.py 视图中调用
from django.http import HttpResponse
from django.shortcuts import render
from .tasks import first_task
# Create your views here.
def first_celery(req):
# 任务参数名.delay(参数)
first_task.delay(4)
return HttpResponse("ok")
3.做迁移并把服务跑起来
4.另开一个xshell窗口启动worker
python manage.py celery worker --loglevel=info (或者celery -A 你的工程名 worker -l info)
启动效果如图
运行可以看出 前端页面立马可以显示“ok”,而worker则在打印“睡后1元”
注意:在views.py中调用一定要加delay
任务函数名.delay(参数)
在修改tasks.py的内容后,要重启worker
python manage.py celery worker --loglevel=info