当前位置: 首页 > news >正文

apscheduler 的基本介绍和使用

APScheduler有四大组件:
1、触发器 triggers :
触发器包含调度逻辑。每个作业都有自己的触发器,用于确定下一个任务何时运行。除了初始配置之外,触发器是完全无状态的。
有三种内建的trigger:
(1)date: 特定的时间点触发
(2)interval: 固定时间间隔触发
(3)cron: 在特定时间周期性地触发
2、任务储存器 job stores:用于存放任务,把任务存放在内存(为默认MemoryJobStore)或数据库中。
3、执行器 executors: 执行器是将任务提交到线程池或进程池中运行,当任务完成时,执行器通知调度器触发相应的事件。
4、调度器 schedulers: 把上方三个组件作为参数,通过创建调度器实例来运行
根据开发需求选择相应的组件,下面是不同的调度器组件:
BlockingScheduler 阻塞式调度器:适用于只跑调度器的程序。
BackgroundScheduler 后台调度器:适用于非阻塞的情况,调度器会在后台独立运行。
AsyncIOScheduler AsyncIO调度器,适用于应用使用AsnycIO的情况。
GeventScheduler Gevent调度器,适用于应用通过Gevent的情况。
TornadoScheduler Tornado调度器,适用于构建Tornado应用。
TwistedScheduler Twisted调度器,适用于构建Twisted应用。
QtScheduler Qt调度器,适用于构建Qt应用。

做一个小练习:

(date 特定一个时间叫他来触发)

from datetime import datetime
from datetime import date
from apscheduler.schedulers.blocking import BlockingScheduler

def job(text):
    print(text)

scheduler = BlockingScheduler(timezone='Asia/Shanghai')
# 在 2023-3-5 运行一次 job 方法
scheduler.add_job(job, 'date', run_date=date(2023, 3, 5, ), args=['text1'])
# 在 2023-3-5 19:22:15 运行一次 job 方法
scheduler.add_job(job, 'date', run_date=datetime(2023,3,5 ,19,22,15), args=['text2'])

scheduler.start()

http://www.lryc.cn/news/30459.html

相关文章:

  • Oracle中merge Into的用法
  • JDK19下载、安装与测试的完整图文教程
  • Vector - CAPL - 获取相对时间函数
  • C++编程语言STL之unordered_map介绍
  • 【独家】华为OD机试 - 最快检测效率-核酸(C 语言解题)
  • 【Redis应用】基于Redis实现共享session登录(一)
  • Android framework系列2 - Init进程
  • 2023年“网络安全”赛项江苏省淮安市选拔赛 任务书
  • 2023年Wireshark数据包分析——wireshark0051.pcap
  • SpringMVC的自定义配置和自动化配置
  • 画图说透 ZooKeeper如何保证数据一致性:选举和ZAB协议
  • 错误异常捕获
  • js垃圾回收机制
  • YApi分析从NoSQL注入到RCE远程命令执行.md
  • 【C++】stl_list介绍和实现,list和vector区别,list vector string 迭代器失效
  • linux-kernel-ecmp-ipv4
  • 蒙特卡洛树搜索(MTCS)
  • 【Verilog】——Verilog简介
  • 【Python从入门到进阶】10、流程控制语句-循环语句(for-while)
  • 超全的命令(代码)执行漏洞无回显的姿势总结(附带详细代码和测试分析过程)
  • STM32MP157-Linux音频应用编程-简易语音助手
  • Python-OpenCV图像处理:学习图像算术运算,如加减法、图像混合、按位运算,以及如何实现它们
  • 并发编程——ReentrantLock
  • English Learning - L2 第 3 次小组纠音 [ʌ] [ɒ] [ʊ] [ɪ] [ə] [e] 2023.3.4 周六
  • STM32之关门狗
  • Apollo控制部分1-- ControlComponent组件介绍
  • 0626-0631韩顺平Java Buffered字节处理流 学习笔记
  • 【网络】序列化和反序列化
  • 【代码随想录训练营】【Day32】第八章|贪心算法|122.买卖股票的最佳时机II |55. 跳跃游戏|45.跳跃游戏II
  • constexpr 和 常量表达式