Django 使用Apscheduler执行定时任务

Apscheduler 介绍

核心组件: 调度器、作业存储、执行器、触发器

调度器

BlockingScheduler

阻塞的调度器,适用于脚本

BackgroundScheduler

后台调度器,适用于非阻塞的应用如Web应用

AsyncIOScheduler

适用于 asyncio 的调度器


GeventScheduler

 适用于 Gevent 的调度器


TornadoScheduler

适用于 Tornado 的调度器


TwistedScheduler

适用于 Twisted 的调度器。

作业存储

保存作业的地方,默认是使用 内存存储,也可以持久化到数据库,支持redis、mongdb等

执行器

执行作业的工具,默认是ThreadPoolExecutor和ProcessPoolExecutor,也就是线程池和进程池

触发器

确定何时运行作业,主要有三种:date、interval、cron

date

在特定时间点运行一次,也就只运行一次

interval

按指定间隔运行,例如每五秒运行

cron

可支持复杂的规格,例如每天某个时间点执行,每周一执行等

更多详细介绍请转到官网

基本用法

创建调度器

设置触发器

运行定时任务

scheduler = BackgroundScheduler()

触发器常用规则

可以使用对应的trigger对象进行建立对应的规则

add_job 可接收的参数

func, trigger=None, args=None, kwargs=None, id=None, name=None,
                misfire_grace_time=undefined, coalesce=undefined, max_instances=undefined,
                next_run_time=undefined, jobstore='default', executor='default',
                replace_existing=False, **trigger_args

func 要运行的函数对象,注意是函数对象,不是函数名

date 支持的规则

传入一个时间对象

cron 支持的规则

每周几执行

可以填写 0-6 或者 mon,tue.wed,thu,fri,sat,sun 

scheduler.add_job(job_function, 'cron',**{"day_of_week": "mon"})  

每天固定时间执行

scheduler.add_job(job_function, 'cron',**{"hour": "mon"})

目前此篇博文还未写完,后续会完善

这位博主写得很好

https://www.cnblogs.com/xinzaiyuan/p/13470657.html

相关推荐

  1. Django 使用Apscheduler执行定时任务

    2024-06-17 21:58:05       30 阅读
  2. flask-apscheduler 定时任务执行两次

    2024-06-17 21:58:05       27 阅读
  3. flask_apscheduler 定时任务框架

    2024-06-17 21:58:05       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-17 21:58:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-17 21:58:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-17 21:58:05       82 阅读
  4. Python语言-面向对象

    2024-06-17 21:58:05       91 阅读

热门阅读

  1. git入门

    git入门

    2024-06-17 21:58:05      34 阅读
  2. SpringMVC的控制器方法的一些要点

    2024-06-17 21:58:05       32 阅读
  3. 深入解析Spring Boot的常用注解和组件(上)

    2024-06-17 21:58:05       24 阅读
  4. 一文详解选择低代码开发平台的六大理由

    2024-06-17 21:58:05       34 阅读
  5. 优化yarn在任务执行时核数把控不准确的问题

    2024-06-17 21:58:05       32 阅读
  6. ZC2205-24V500mAUltralow-Quiescent-Current LDO

    2024-06-17 21:58:05       20 阅读
  7. MySQL触发器基本结构

    2024-06-17 21:58:05       32 阅读
  8. python作业

    2024-06-17 21:58:05       30 阅读
  9. SAP PI系统关于接口清单和接口通量的自定义视图

    2024-06-17 21:58:05       28 阅读
  10. MYSQL 数字(Aggregate)函数

    2024-06-17 21:58:05       37 阅读
  11. 掌握.gitignore与标签(Tag)的高效使用

    2024-06-17 21:58:05       29 阅读
  12. 读《任正非文集》

    2024-06-17 21:58:05       35 阅读