Django 定时器 django_crontab

Django 定时器 django_crontab

前言:当需要项目在某一个固定时间自动执行某功能,即可以使用定时器这个功能

安装:django_crontab

pip3 install django_crontab

配置:需要在settings文件配件使用django_crontab,注意需要配置在app应用之前

INSTALLED_APPS = [
    ‘django_crontab’      # 定时器配置
]

创建项目需要的函数:自定义
注:common/timer.py 该位置为作者项目自定义存在定时器位置,如需要在定时器日志文件内打印输出内容,一定需要导入以下内容并重新定义标注输出。为按这个步骤操作日志内输出字符串内容会报错

#重新定义标准输出,未定义print中文会报错
import sys
import codecs
sys.stdout = codecs.getwriter(“utf-8”)(sys.stdout.detach())

触发定时器时,print内容将会在日志文件中打印

def update_VIP_status():
      print(“定时器”)

在settings文件中配置定时器对应函数以及日志文件位置

#1.中文乱码
CRONTAB_COMMAND_PREFIX = ‘LANG_ALL=zh_cn.UTF-8’
#2.工作执行之后–直译
CRONTAB_COMMAND_SUFFIX = ‘2>&1’
#3.添加定时任务(时间分,时, 函数中的输出语句, 是输出在.log文件中的)
CRONJOBS = (
         (‘30 17 * * *’, ‘common.timer.update_VIP_status’,
         ‘>> %s_log.log’ % os.path.join(BASE_DIR, ‘timer’))
)

启动时间

🌟 🌟 🌟 🌟 🌟      — 分,时,日,月,年
30  17  🌟 🌟 🌟      — 每天17:30执行一次定时函数
🌟/5  🌟 🌟 🌟 🌟      — 每5分钟执行一次定时函数

添加定时器,查看定时器,删除定时器

python3 manage.py crontab add     #添加
python3 manage.py crontab show     #查看
python3 manage.py crontab remove     #删除

注意:在开发调试过程中,每一次在settings文件中更改定时器的配置时间需要重新添加一次才生效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值