Django定时任务(django-crontab)

此文包含了创建项目及应用的方法,可直接阅读安装django-crontab部分。

Django定时任务

  • 创建项目
  • 创建应用
  • 安装django-crontab
  • 编写需要定时执行的函数
  • 配置settings.py文件
  • 添加定时任务
  • 查看定时任务是否添加成功
  • 移除定时任务

创建项目

django-admin startproject testProject(项目名)

创建应用

python3 manage.py startapp TestCrontab(应用名)

安装django-crontab

pip3 install django-crontab

编写需要定时执行的函数

def timedExecution():
	print('-------test--------')

配置settings.py文件

  1. INSTALLED_APPS部分
INSTALLED_APPS = [
	...
    'django_crontab', #定时任务,需放置在应用之前
    'TestCrontab' #创建的app名
    ...
]
  1. 配置CRONJOBS
# 解决中文乱码问题
CRONTAB_COMMAND_PREFIX = 'LANG_ALL=zh_cn.UTF-8'
# 存放log的路径
CRONJOBS_DIR = "/Users/xyt/Desktop/myDjango/"
# Log文件名
CRONJOBS_FILE_NAME = "CRONJOBS.log"
# 添加定时任务(函数中的输出语句,是输出在.log文件中的)
CRONJOBS = (
	# 每分钟执行一次TestCrontab App中crontabFun的timedExecution函数,执行后将打印结果存储在log文件中
	#  '2>&1'每项工作执行后要做的事
    ('*/1 * * * *', 'TestCrontab.crontabFun.timedExecution',  '>>'+CRONJOBS_DIR+CRONJOBS_FILE_NAME + ' 2>&1'), # 每分钟执行一次
    ('00 11 * * *', 'TestCrontab.crontabFun.timedExecution',  '>>'+CRONJOBS_DIR+CRONJOBS_FILE_NAME + ' 2>&1'), # 每天11点执行
    ('0 */1 * * *', 'TestCrontab.crontabFun.timedExecution',  '>>'+CRONJOBS_DIR+CRONJOBS_FILE_NAME + ' 2>&1'), # 每小时执行一次
    # * * * * *
   	# 分钟(0-59) 小时(0-23) 每个月的哪一天(1-31) 月份(1-12) 周几(0-6)

)

添加定时任务

python3 manage.py crontab add

查看定时任务是否添加成功

python3 manage.py crontab show

移除定时任务

python3 manage.py crontab remove

你可能感兴趣的:(Django,python,python,django)