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 虽然 ...
随机推荐
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之四(四十)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
- IPFS(星际文件系统)-初步接触
〇.IPFS介绍 从HTTP到IPFS,星际文件系统能变革信息传播的方式吗? 戴嘉乐:详解IPFS的本质.技术架构以及应用 以下为实现相关摘要 1.存储 在IPFS中,信息可以存储进IPFS系统中的块 ...
- java web 中base64传输的坑
今天在项目中,前端需要向后端发送一张图片,使用toDataURL方法以base64编码的形式传输,在写好程序后,发现报错为base64不是有效的图片,反复排查后发现接口需要一张格式为png的图片,在前 ...
- Mol Cell Proteomics. | Proteomics Analysis of Extracellular Matrix Remodeling During Zebrafish Heart Regeneration (解读人:徐宁)
文献名:Proteomics Analysis of Extracellular Matrix Remodeling During Zebrafish Heart Regeneration(斑马鱼心脏 ...
- IntelliJ IDEA 2018.1.4 x64安装创建maven项目等
Intellij IDEA 一:介绍 Jetbrains公司https://www.jetbrains.com/idea/ 1.1版本 Ultimate最终[收费] 网络,移动和企业开发 Web, m ...
- 基于Docker搭建Nginx图片服务器
前言 一般开发中,都会把图片上传到一个目录,然后将目录和文件名拼接存储在数据库中,但是,这种方法如果没弄好的话可能有一定的缺陷. 若项目搬迁,即时这台服务器本身还在用,存放在服务器的跟项目相关的图片也 ...
- 免费IP归属地查询接口汇总
目前做一个项目,需要判断是国内还是国外的IP,具体要求为接口稳定,速度快,免费,不异常,所以我整理了优质的接口供大家筛选. IP归属地查询API 一,淘宝API接口 http://ip.taobao. ...
- python基本数据类型及其使用方法
前言 python中的数据类型主要为int.float.string.list.tuple.dict.set.bool.bytes.接下来int和float统称为数字类型. 1.数据类型总结 按存 ...
- laravel的中间件创建思路
网上有很多解析laravel中间件的实现原理,但是不知道有没有读者在读的时候不明白,作者是怎么想到要用array_reduce函数的? 本文从自己的角度出发,模拟了如果我是作者,我是怎么实现这个中间件 ...
- c++第一个程序测试-----c++每日笔记!
#include <iostream>int main(){ //std::cout << "Enter two number:" <<std: ...