下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

python应用:django项目中遇到要实现定时任务

作者:子钦加油     来源: https://www.cnblogs.com/zmdComeOn/点击数:1541发布时间: 2020-02-28 11:16:01

标签: python编程语言Python语言

大神带你学编程,欢迎选课

Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发

django项目中遇到要实现定时任务,所以选用了简单易用的django-crontab插件。

1、安装 django-crontab

pip install django-crontab

2、定时要执行的脚本

先写个简单的测试脚本。
crontab/crons.py

import datetime

defupdate_stock_status():
    start_time = datetime.datetime.now()
    print(start_time, ", begin update_stock_status cron task...")

3、配置

在项目的配置文件 settings.py 中,加上下列信息:

# add django-crontab app
INSTALLED_APPS = [
    ...
    'django_crontab',
]

# cron tasks
CRONJOBS = [
    ('*/5 * * * *', 'crontab.crons.update_stock_status', '>>' + os.path.join(BASE_DIR, 'logs/crons.log'))
]
""" python3 manage.py crontab add 添加定时任务 python3 manage.py crontab remove 删除定时任务 python3 manage.py crontab show 查看定时任务 * * * * * command 分钟(0-59) 小时(0-23) 每个月的哪一天(1-31) 月份(1-12) 周几(0-6) shell脚本或者命令 0 6 * * * commands >> /tmp/test.log # 每天早上6点执行, 并将信息追加到test.log中 """
  • crontab.crons.update_stock_status :crontab 表示目录;crons 表示crons.py文件;update_stock_status 表示要执行的函数。
  • ‘>>’ + os.path.join(BASE_DIR, ‘logs/crons.log’):表示把定时任务的日志写到crons.log 文件中。

4、启动定时任务

# 其实是把定时任务写入系统的 crontab 中,在系统中使用 crontab -l 可以看到
python manage.py crontab add
# 删除定时任务
python manage.py crontab remove
# 查看定时任务
python manage.py crontab show

在您开始之前,在你的计算机将需要Python,但您可能不需要下载它。首先检查(在同级目录下在命令行窗口输入python)有没有安装Python。如果你看到了一个Python解释器的响应,那么就能在它的显示窗口中得到一个版本号。通常的版本都可以做到Python的向前兼容。
赞(8)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程