celery定时任务请看下面这篇博客
https://blog.csdn.net/Coxhuang/article/details/89058429
https://github.com/Coxhuang/django-celery4
Python3.7
celery==4.3.0
django==2.0.7
redis==3.2.1 # 低版本的redis不兼容celery
视图函数
from django.shortcuts import render,HttpResponse
from app.tasks import send_email
def email_api(request):
send_email.delay() # 发送邮件(异步)
return HttpResponse("邮件发送成功 !!! ")
tasks.py
@shared_task
def send_email():
print("邮件发送中...")
sleep(5) # 模拟发送邮件消耗的时间
xxx.objects.create(
name="发送邮件",
) # 把记录加到数据库中,(凭个人爱好,可加可不加)
return "邮箱发送成功"
在app下__init__.py文件
from __future__ import absolute_import
# This will make sure the app is always imported when
# Django starts so that shared_task will use this app.
from .celery import app as celery_app
__all__ = ['celery_app']
celery multi start worker1 -A celery4