django中设置定时任务
django中设置定时任务
在django中设置定时任务我们可以借用django-crontab这个第三包来实现
django-crontab只能在linux系统下使用- 安装: 
pip install django-crontab - 将django_crontab注册到install app中
 - 编写你的定时任务函数(我的是编写一个发送邮件的任务函数)
 
from django.core.mail import send_mail
from django.conf import settings
from django.template.loader import render_to_string
from task.models import Task
from django.contrib.auth.models import User
def send_task_email():
    user_list = User.objects.filter()
    for user in user_list:
        tasks = Task.objects.filter(status=False, user=user)
        if tasks:
            html_message = render_to_string('task/task.html', {'tasks': tasks, 'user': user})
            subject = '任务提醒'
            message = ''
            sender = settings.EMAIL_FROM
            receiver = [user.email]
            send_mail(subject, message, sender, receiver, html_message=html_message)
在settings中配置任务
CRONJOBS = [
    ('00 10 * * *', 'task.scheduled_task.send_task_email', '>>task.log'),
]
- 任务队列是一个列表,里面的每个元祖元素都是一个任务对象,
 - 任务对象的的第一个参数为执行时间,
00 10 * * *是每天10点执行# crontab范例
# 每五分钟执行 */5 * * * *
# 每小时执行 0 * * * *
# 每天执行 0 0 * * *
# 每周执行 0 0 * * 0
# 每月执行 0 0 1 * *
 - 第二个参数为任务函数的路径
 - 第三个为log的位置
 
操作任务
- 添加任务
python manage.py crontab add - 查看任务
python manage.py crontab show - 删除任务
python manage.py crontab remove 
celery版本:https://zhuanlan.zhihu.com/p/112933211
django中设置定时任务的更多相关文章
- Django 中设置分页页码,只显示当前页以及左右两页
		
设置后的效果如下: Django 给我们提供了分页的功能:`Paginator`和`Page`类都是用来做分页的.他们在Django中的路径为:`from django.core.paginator ...
 - Django中通过定时任务触发页面静态化的方式
		
安装 pip install django-crontab 添加应用 INSTALLED_APPS = [ ... 'django_crontab', # 定时任务 ... ] 设置任务的定时时间 在 ...
 - django中运行定时任务脚本
		
需要使用到django_apscheduler模块,因此先安装: pip install django-apscheduler 然后在工程的settings.py文件中的INSTALLED_APPS模 ...
 - django在windows设置定时任务,勉强能用
		
推荐三篇文章 [Django]Django 定时任务实现(django-crontab+command) django中使用定时任务执行某些操作时的规范操作 windows配置crontab 前两篇文 ...
 - Django中使用Celery
		
一.前言 Celery是一个基于python开发的分布式任务队列,如果不了解请阅读笔者上一篇博文Celery入门与进阶,而做python WEB开发最为流行的框架莫属Django,但是Django的请 ...
 - Django 中的 cookie 和 session
		
一.cookie 由于HTTP协议是无状态的,而服务器端的业务必须是要有状态的.Cookie诞生的最初目的是为了存储web中的状态信息,以方便服务器端使用.比如判断用户是否是第一次访问网站.目前最新的 ...
 - Django中的csrf基础了解
		
简介 django为用户实现防止跨站请求伪造的功能,通过中间件 django.middleware.csrf.CsrfViewMiddleware 来完成.而对于django中设置防跨站请求伪造功能有 ...
 - Django中Ajax提交数据的CSRF问题
		
错误信息: Forbidden (CSRF token missing or incorrect.): 什么是CSRF: django为用户实现防止跨站请求伪造的功能,通过中间件 django.mid ...
 - Django中的Session--实现登录
		
Django中的Session--实现登录 Django Session Session Session 是什么 Session保存在服务端的键值对. 为什么要有 Session Cookie 虽然 ...
 
随机推荐
- vue中moment.js的使用
			
一.介绍 moment.js是一款现在对时间处理的强大的函数. Moment被设计用于在浏览器和Node.js中工作. 目前ci系统使用的浏览器有:IE8.IE9在Windows 7上.Chrome在 ...
 - (转)伪指令LTORG和LTONG浅析
			
原文地址:http://zqwt.012.blog.163.com/blog/static/1204468420103196564/ 定义和作用 LTORG或LTONG用于声明一个数据缓冲池(也称为文 ...
 - Loadrunner 11安装和破解
			
一.安装环境和文件准备 1.操作系统:Windows Server 2008 R2 Enterprise: 2.loadrunner版本:loadrunner 11: 3.安装浏览器:火狐39.0: ...
 - 启动/关闭oracle服务
			
写一个脚本就可以很方便的打开服务和关闭服务,但是记住要以管理员的身份运行哦! 首先建立两个文件:启动.txt 和关闭.txt [在下面代码里启动的服务名称可能版本不一样,有可能名字不一样,自己对照看看 ...
 - 【i春秋 综合渗透训练】渗透测试笔记
			
网站是齐博CMS V7.0 1.要求获得管理员密码: 利用齐博CMS V7.0 SQL爆破注入漏洞即可得到管理员用户名密码 https://www.cnblogs.com/vspid ...
 - 主从校验工具pt-table-checksum和pt-table-sync工作原理
			
pt-table-checksum和pt-table-sync是常用来做MySQL主从数据一致性校验的工具,pt-table-checksum只校验数据,不能对数据进行同步:pt-table-sync ...
 - 【转】Standardization(标准化)和Normalization(归一化)的区别
			
Standardization(标准化)和Normalization(归一化)的区别 https://blog.csdn.net/Dhuang159/article/details/83627146 ...
 - effective-java学习笔记---使用限定通配符来增加 API 的灵活性31
			
在你的 API 中使用通配符类型,虽然棘手,但使得 API 更加灵活. 如果编写一个将被广泛使用的类库,正确使用通配符类型应该被认为是强制性的. 记住基本规则: producer-extends, c ...
 - 使用webhooks进行代码的自动化部署
			
AutoMaticDeployment---自动部署 项目简介 使用Github的webhooks进行代码的自动化部署 本项目是个人最近搞的一个小工具,自己最近在用hexo部署个人博客(地址:http ...
 - Hadoop 集群的基准测试
			
集群搭建完毕之后,需要对集群进行基准测试 第一方面:基本测试 服务启动,是否可用,简单的应用 *hdfs 读写操作 bin/hdfs dfs -mkdir - p /user/chris/tmp/co ...