django中使用定时任务执行某些操作时的规范操作

安装配置

pip install django-crontab

再在settings.py中添加app:

INSTALLED_APPS = (
       ...
       'django_crontab',
   )

开始创建定时任务

在app内新建一个py文件,我在这里新建一个util.py

def task():
   print('我会被每分钟执行一次,并且将内容输出到log文件中')

最简单配置 在你的settings中设置

CRONJOBS = [
    # 表示每过一分钟执行一次
    ('*/1 * * * *', 'base.utils.task','>> /tmp/testapi_crontab.log')
]
#后面的>> /tmp/testapi_crontab.log' 表示将定时执行的函数的打印结果输出到已经在本机中建立好的log文件中,方便调试。

解释

第一个参数(表示时间):
前5个字段分别表示:

分钟:0-59
小时:1-23
日期:1-31
月份:1-12
星期:0-6(0表示周日)
一些特殊符号:
*: 表示任何时刻
,: 表示分割
-:表示一个段,如第二端里: 1-5,就表示1到5点
/n : 表示每个n的单位执行一次,如第二段里,*/1, 就表示每隔1个小时执行一次命令。也可以写成1-23/1.

第二个参数(表示路径):

格式:app名称/文件名/函数名

如果想生成日志,那就再加一个字符串类型的参数:’>> path/name.log’, path路径,name文件名。’>>’表示追加写入,’>’表示覆盖写入。

提示:如果你有多个定时任务,以逗号隔开,都放入CORJOBS中即可。

启动任务

以上都完成后,需要执行
将任务添加并生效

python manage.py crontab add

显示当前的定时任务

python manage.py crontab show

删除所有定时任务

python manage.py crontab remove

最后重启django服务

python manage.py runserver

猜你喜欢

转载自blog.csdn.net/haeasringnar/article/details/81170031