Django笔记(celery的使用)

上一篇中我们已经把配置搞定了,接下来。。。

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)

启动效果如图

Django笔记(celery的使用)_第1张图片

运行可以看出 前端页面立马可以显示“ok”,而worker则在打印“睡后1元”

Django笔记(celery的使用)_第2张图片

注意:在views.py中调用一定要加delay

任务函数名.delay(参数)

在修改tasks.py的内容后,要重启worker

python manage.py celery worker --loglevel=info

异步调用成功

 

你可能感兴趣的:(Django)