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

相关文章

来自专栏编程直播室

Spring Rest + 页面设计online

2074
来自专栏Angular&服务

ionic3 在app首页跳转重定向报错

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

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

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

3958
来自专栏葡萄城控件技术团队

如何在ASP.NET中生成HTML5离线Web应用

传统的Web应用程序有一个很大的症结是当用户的网络连接不好时,应用会加载失败,为了 解决这一问题,HTML5中引入了Web的离线工作的功能。离线功能使得Web应...

2296
来自专栏逸鹏说道

今天有群友不是很清楚htm直接存数据库的危害,我简单举个例子

通过这个案例就知道为什么不要把原生的html放数据库了 常见的几种转码 ? 常用的几种显示方法 ? 只有原生html和最下面一种弹框了,变成了持久xss ...

3107
来自专栏linux运维学习

linux学习第九篇:特殊权限set_uid,set_gid,stick_bit以及软连接文件,硬链接文件

特殊权限set_uid 权限s即为set_uid(给一个文件设置set_uid权限的前提是这个文件是二进制可执行文件) [root@xie-02 ~]# ls ...

1988
来自专栏鸿的学习笔记

日志采集技术笔记

使用Linux的rename机制保证文件写入要么成功,要么失败,绝对不能出现写了一半的情况。

4035
来自专栏静下来

nginx安装lua模块 出现libluajit-5.1.so.2错误的解决方法

nginx在单独安装lua模版的时候,出现一个错误,我不知道其他人有没有遇到过。 编译都没有问题,就是在nginx -t检查的时候,有以下错误: nginx: ...

6305
来自专栏deed博客

一个设置,改变网络设备体验

1587
来自专栏JavaEdge

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

3405

扫码关注云+社区

领取腾讯云代金券