使用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 条评论
登录 后参与评论

相关文章

来自专栏tiane12

Windows Time服务无法启动 错误1058 解决方法

3143
来自专栏转载gongluck的CSDN博客

搭建 FTP 文件服务

安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 apt-get 安装 vsftpd: sudo apt-get in...

8907
来自专栏王二麻子IT技术交流园地

Linux服务器上安装vsftpd

1、首先判断你服务器上是否安装了vsftpd rpm -q vsftpd 2、安装vsftpd yum -y install vsftpd 3、重启vsftpd...

4539
来自专栏JavaEdge

Intellij IDEA从Github上拉代码然后出现这么个对话框单击Git Repository URL后面的下拉菜单,可以选择以前fork过的工程,然后单击clone,就OK了

3385
来自专栏程序小工

【Linux】系统学习Crontab定时任务

crontab 是一个用于设置周期性执行任务的工具。目前服务器端的运行环境大多数为 Linux,在日常的运营和维护中会有很多需要定期执行的操作,其中有些操作是可...

1342
来自专栏linux系统运维

目录的创建和删除以及cd命令和rm命令的介绍用法

1936
来自专栏PHP在线

PHP cURL 应用

简单采集 <?php $url = 'http://demo.zjmainstay.cn/php/curl/simple.html'; $ch ...

3528
来自专栏蓝天

Solution: AC_CONFIG_MACRO_DIR conflicts with ACLOCAL_AMFLAGS

.ibtoolize: AC_CONFIG_MACRO_DIR([./aclocal]) conflicts with ACLOCAL_AMFLAGS=-I ...

841
来自专栏小樱的经验随笔

一个很easy的脚本--php获取服务器端的相关信息

存档: 1 <html> 2 <head> 3 <meta http-equiv="content-type" content="...

3908
来自专栏nice_每一天

excel导出使用get请求参数过长问题

excel导出功能时,使用的是window.location.href=url也就是get请求。当传入参数过长的时候就报了414,地址过长的错误。

1372

扫码关注云+社区