python 定时任务 全局变量_django使用django-apscheduler 实现定时任务的例子

本文介绍了如何在Django项目中使用django-apscheduler库来创建定时任务。首先通过pip安装apscheduler和django-apscheduler,并将其添加到INSTALLED_APPS。接着,迁移数据库以创建必要的表。然后,在视图中实例化BackgroundScheduler,定义cron类型的定时任务,并注册事件。当遇到异常时,调度器会关闭。示例中的任务每天工作日9:30:10执行,打印当前时间。
摘要由CSDN通过智能技术生成

下载:

pip install apscheduler

pip install django-apscheduler

将 django-apscheduler 加到项目中settings的INSTALLED_APPS中

INSTALLED_APPS = [

....

'django_apscheduler',

]

然后迁移文件后

./manage.py migrate

生成两个表:django_apscheduler_djangojob 和 django_apscheduler_djangojobexecution

这两个表用来管理你所需要的定时任务,然后就开始在任一view下写你需要实现的任务:

启动异步定时任务

import time

from apscheduler.schedulers.background import BackgroundScheduler

from django_apscheduler.jobstores import DjangoJobStore, register_events, register_job

try:

# 实例化调度器

scheduler = BackgroundScheduler()

# 调度器使用DjangoJobStore()

scheduler.add_jobstore(DjangoJobStore(), "default")

# 'cron'方式循环,周一到周五,每天9:30:10执行,id为工作ID作为标记

# ('scheduler',"interval", seconds=1) #用interval方式循环,每一秒执行一次

@register_job(scheduler, 'cron', day_of_week='mon-fri', hour='9', minute='30', second='10',id='task_time')

def test_job():

t_now = time.localtime()

print(t_now)

# 监控任务

register_events(scheduler)

# 调度器开始

scheduler.start()

except Exception as e:

print(e)

# 报错则调度器停止执行

scheduler.shutdown()

以上这篇django使用django-apscheduler 实现定时任务的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2019-07-18

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值