使用django-crontab实现定时任务的示例

今天打算在自己的 Django 应用中添加一个定时任务来定时执行一些定期检查的功能,因此想到了使用 django-crontab 插件可以满足我的需求,下面就是这个插件的使用方法。

首先使用pip安装 django-crontab 插件

pip install django-crontab

创建要定期执行的脚本和方法,这里假设脚本名称叫cron.py,内容如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

def check():
  print "hello django-crontab"

然后在自己应用的 settings.py 文件中添加这个app

INSTALLED_APPS = (
  ...
  'django_crontab',
)

同时在 settings.py 文件中添加 CRONJOBS 配置,内容如下:

CRONJOBS = [
  ('*/1 * * * *', 'cron.check','>>/tmp/test.log')
]

其中:
- 第一个参数是 cron 表达式,定义定时任务的执行时间。
- 第二个参数是要执行的模块和函数。
- 第三个参数是执行定时脚本时日志文件的路径。

定义了定时任务和脚本,下面看看怎样使其生效。

首先查看一下系统中已有的 cron job

python manage.py crontab show 

添加和修改 cron job

python manage.py crontab add 

删除 cron job

python manage.py crontab remove

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Django+Celery实现定时任务的示例

    目录 一.前言 二.配置使用 定义与触发任务 扩展 三.Django中使用定时任务 二次开发 一.前言 Celery是一个基于python开发的分布式任务队列,而做python WEB开发最为流行的框架莫属Django,但是Django的请求处理过程都是同步的无法实现异步任务,若要实现异步任务处理需要通过其他方式(前端的一般解决方案是ajax操作),而后台Celery就是不错的选择.倘若一个用户在执行某些操作需要等待很久才返回,这大大降低了网站的吞吐量. ​另一方面,当我们需要处理一些定时任务时

  • Django crontab定时任务模块操作方法解析

    Django crontab定时任务 安装 pip install django-crontab 配置 在settings.py中 INSTALLED_APP中添加'django_crontab' CRONJOBS = [ ('*/1 * * * *','echo "hello world" > /dev/null') ] 应用 函数 def demo(): 你所要执行的业务逻辑 CRONJOBS = [ ('*/1 * * * *','demo函数路径" ') ] 查

  • python Celery定时任务的示例

    本文介绍了python Celery定时任务的示例,分享给大家,具体如下: 配置 启用Celery的定时任务需要设置CELERYBEAT_SCHEDULE . Celery的定时任务都由celery beat来进行调度.celery beat默认按照settings.py之中的时区时间来调度定时任务. 创建定时任务 一种创建定时任务的方式是配置CELERYBEAT_SCHEDULE: #每30秒调用task.add from datetime import timedelta CELERYBEA

  • 详解django中使用定时任务的方法

    今天介绍在django中使用定时任务的两种方式. 方式一: APScheduler 1)安装: pip install apscheduler 2)使用: from apscheduler.scheduler import Scheduler from django.core.cache import cache # 实例化 sched = Scheduler() # 每30秒执行一次 @sched.interval_schedule(seconds=30) def sched_test():

  • Django中通过定时任务触发页面静态化的处理方式

    Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django是一个开放源代码的Web应用框架,由Python写成. Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 . Django采用了MVC的软件设计模式,即模型M,视图V和控制器C. 本章节给大家介绍Django中通过定时任务触发页面静态化的处理方式,具体内容如下所示: 安装 pip install dja

  • 详解linux下利用crontab创建定时任务

    Linux下可以利用crontab创建定时任务. 常用搭配 crontab -e 编辑任务 crontab -l 查看所有任务[该用户] crontab -r 取消所有任务[该用户] 任务格式 × × × × × +命令(具体任务) 前5个参数表示时间,依次为: 参数 范围 分钟 0-59 小时 0-23 日期 1-31 月份 1-12 星期 0-6(0代表星期日) 特殊符号 为了精确表示定时,需要一些特殊符号来描述具体的任务执行时间.有以下几个符号: "/" 代表每,每隔多长时间 &

  • Python学习之Django的管理界面代码示例

    本文研究的主要是Python web开发框架Django的管理界面的相关内容,具体如下. admin界面的路径,通常在my_project中已经设置好了,使用django-admin.py startproject my_project 在目录下的urls.py文件中可以看到 from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ # Examples: # url(r'

  • 详解在dotnet core实现类似crontab的定时任务

    前段需要在业务中实现某些时间段的简单定时任务,类似crontab的调度,因为业务会放在docker中,所以不想用直接用crontab,在网上搜了一下,发现一个开源的实现 Pomelo.AspNetCore.TimedJob,使用简单,但是因为是时间间隔执行,不太符合指定时间段要求,不过感谢有此开源代码,我在其基础上重新撸了个crontab的实现,并增加了一些功能,代码已放在Github上. 源码地址:https://github.com/aquilahkj/Light.Cron 使用Demo:h

  • 对django 模型 unique together的示例讲解

    unique_together 这个元数据是非常重要的一个!它等同于数据库的联合约束! 举个例子,假设有一张用户表,保存有用户的姓名.出生日期.性别和籍贯等等信息.要求是所有的用户唯一不重复,可现在有好几个叫"张伟"的,如何区别它们呢?(不要和我说主键唯一,这里讨论的不是这个问题) 我们可以设置不能有两个用户在同一个地方同一时刻出生并且都叫"张伟",使用这种联合约束,保证数据库能不能重复添加用户(也不要和我谈小概率问题).在Django的模型中,如何实现这种约束呢?

  • springboot实现多实例crontab抢占定时任务(实例代码)

    github: https://github.com/jiasion/eslog wechat:minghui-666 利用redisson实现多实例抢占定时任务 pom.xml <dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.12.0</version> </dependency>

随机推荐