Django项目使用定时任务(django-crontab)

关于django-crontab定时任务,首先他是操作系统层面的定时任务,一旦激活启动,只要操作系统在运行,则定时任务会一直在后台运行。
定时任务可以使用在页面静态化技术上,以便按照我们想要的时间间隔自动生成页面
下面以Django项目页面静态化技术应用定时任务来进行举例:
首先安装

pip install django-crontab

添加应用

# settings.py
INSTALLED_APPS = [...# 定时任务'django_crontab',
]

设置任务的定时开启时间

每个定时任务分为三部分定义:

  • 任务时间
  基本格式 :* * * * *分 时 日 月 周      命令M: 分钟(0-59)。每分钟用*或者 */1表示H:小时(0-23)。(0表示0点)D:天(1-31)。m: 月(1-12)。d: 一星期内的天(0~6,0为星期天)。
第一个星号代表分钟,第二个代表小时,第三个代表天,第四个代表月,第五个代表一星期内的第几天注意:'1 * * * *' 代表每个小时的第一分钟执行定时任务,即,每小时才会更新一次。
我们如果要设置每分钟执行一次定时任务,则需要使用以下
'*/1 * * * *'
  • 任务方法

  • 任务日志

首页的定时任务设置如下:

# 在settings.py文件中
# 定时任务
CRONJOBS = [# 每1分钟生成一次首页静态文件('*/1 * * * *', 'contents.generate_index.generate_index_html', '>> ' + os.path.join(os.path.dirname(BASE_DIR), 'logs/crontab.log'))
]
  • 第一部分代表了定时任务的执行间隔,第二部分代表定时任务要执行的函数,第三部分代表发生错误时了写入的日志文件路径和日志文件

解决中文字符问题
在定时任务中,如果出现非英文字符,会出现字符异常错误
可以通过在 settings.py 中添加如下命令来解决:

# 解决 crontab 中文问题
CRONTAB_COMMAND_PREFIX = 'LANG_ALL=zh_cn.UTF-8'

开启定时任务
我们设置好定时任务之后, 需要把定时任务添加到操作系统中才能够启动:

添加定时任务到系统中

python manage.py crontab add

执行以上代码会出现如下弹窗,点击 好,如果不小心点击错了,则要关机重启再来执行添加定时任务。

显示已经激活的定时任务

python manage.py crontab show

移除定时任务(当不使用的时候记得移除,否则会一直存在)

python manage.py crontab remove

补充:由于该定时任务是操作系统层面的定时任务,仅在linux操作系统和mac系统下可以执行,windows系统则不可用!

Django项目定时任务(django-crontab)相关推荐

  1. django项目中使用crontab定时任务

    django项目中使用crontab定时任务 django-crontab 在ubuntu-18.04.2上的使用 需求:django项目中需添加定时任务,定时执行某个函数或者自定义的命令等) 使用步 ...

  2. django 模板mysql_59 Django基础三件套 , 模板{{}}语言 , 程序连mysql Django项目app Django中ORM的使用...

    主要内容:https://www.cnblogs.com/liwenzhou/p/8688919.html 1 form表单中提交数据的三要素 a : form标签必须要有action和method的 ...

  3. Django项目实战: Django + PyPDF2实现PDF页面提取和PDF文件输出

    在日常工作中我们经常需要从一个大的PDF文档中提取我们所需要的页面,所以今天我们将教你用Django + PyPDF2开发个小Web应用: 用户上传一个PDF文档,输入需要提取的页面号码,点击确定后浏 ...

  4. 服务器关掉后django项目停止,Django项目关闭debug模式后,静态文件无法加载的解决办法...

    近期在做OpenStack Horizon项目的相关开发,OpenStack的整体环境使用DevStack安装,horizon开发过程中直接使用命令: python manager.py runser ...

  5. Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)

    阅读目录 摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大 ...

  6. 使用Nginx+uWSGI部署Django项目

    1.linux安装python3环境 参考链接:https://www.cnblogs.com/zzqit/p/10087680.html 2.安装uwsgi pip3 install uwsgiln ...

  7. Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)...

    摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大主流Web ...

  8. Django讲课笔记04:Django项目的调试

    文章目录 零.本讲学习目标 一.课程导入 二.新课讲授 (一)PyCharm运行命令创建的Django项目 1.打开第03讲里的MyDjango项目 2.配置Django Server 3.通过工具栏 ...

  9. lynda.com教程之Learning Python and Django_手把手零基础搭建Django项目

    www.lynda.com作为全球一流的在线培训网站,一直以高质量的视频课程著称.其课程内容也是紧跟行业潮流,本人最近学了里面的一门课程Learning Python and Django, 分享一下 ...

  10. 超详细Windows环境下使用Apache部署Django项目教程

    目录 超详细Windows环境下使用Apache部署Django项目教程 1.什么是Apache 2.安装并配置Apache 2.1 下载Apache 2.2 解压Apache到文件夹 2.3 配置c ...

最新文章

  1. java使用uploadify上传文件
  2. 云知声联合亿咖通科技成立合资公司,布局汽车 AI 芯片
  3. Nature子刊:用16S及18S rRNA全长进行微生物多样性研究
  4. 第十二周项目一-实现复数类中的运算符重载(1)
  5. 离散化+树状数组求逆序数
  6. iOS中的HotFix方案总结详解
  7. [Hnoi2013]消毒
  8. oracle安装无响应,求教 pl/sql连接本机数据库是未响应问题
  9. 在Ant Design Pro(React)中使用ECharts
  10. Celery-一个会做异步任务,定时任务的芹菜
  11. 蓝桥杯_算法训练_审美课
  12. 转:认知盈余时代,知乎是如何运营的
  13. 超自动化如何提升保险业?
  14. 梦三国测试服显示连接服务器失败,《梦三国》梦三国服务器未连接攻略
  15. JPA 数据库添加数据报错:Cannot add or update a child row: a foreign key constraint fails
  16. 人员招聘与培训实务【3】
  17. bzoj3238 [ AHOI2013 ] --后缀自动机
  18. CFS线程调度机制分析
  19. Laplace变换的来源
  20. Android系统 Systrace调试使用说明

热门文章

  1. Ardunio开发实例-MMA8653FC 10位加速度计
  2. 冬至幻灵怎么修改服务器名字,冬至幻灵如何给自己加元宝
  3. 记一次独角兽公司双系统迁移合并解决方案
  4. wifi连接上不能上网 手机WiFi连接上不能上网的解决办法
  5. rs422串口通讯c语言程序,RS232C/RS422/RS485串行通信标准
  6. PM之数据分析与逻辑能力
  7. 常见的tenor操作
  8. 虚拟机搭建Harbor安装和简单使用
  9. 阿里巴巴国际站 | 如何做数据分析?
  10. Java Instrument