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

调度器APScheduler定时执行任务

APScheduler(Advanced Python Scheduler)是一个Python库,用于调度任务,使其在预定的时间间隔或特定时间点执行。它支持多种调度方式,包括定时(interval)、日期(date)和Cron风格的调度(cron)。

APScheduler的主要组件
Schedulers(调度器):

BlockingScheduler:最简单的调度器,会阻塞当前线程,适用于单独的调度任务。
BackgroundScheduler:在后台运行,不阻塞当前线程,适用于需要在其他程序中运行的调度任务。
AsyncIOScheduler、GeventScheduler、TwistedScheduler:用于与特定的异步框架集成。
Jobs(任务):

表示要在某个时间执行的任务,可以是函数或方法。
Triggers(触发器):

决定任务何时执行。有三种主要触发器类型:
date:在特定时间执行一次。
interval:以固定的时间间隔重复执行。
cron:基于Cron表达式,在特定的时间点执行。

实践

from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.triggers.interval import IntervalTriggerscheduler = BackgroundScheduler(timezone=pytz.timezone("Asia/Shanghai"))
# 解决错误: raise TypeError('Only timezones from the pytz library are supported' )ypeError: Only timezones from the pytz library are supported
# 运行任务
scheduler.add_job(task1, 'cron', hour='8' , minute='30') # 每天发送一次
scheduler.add_job(task2, 'cron', hour='8', minute='30') # 每天发送一次try:scheduler.start()normal_log.logger.info('调度器已启动...')# 使脚本持续运行while True:time.sleep(2)
except (KeyboardInterrupt, SystemExit):scheduler.shutdown()

触发器类型

在这里插入图片描述

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

相关文章:

  • git合并分支的疑问
  • catia数控加工仿真Productlist无法添加部件或零件
  • 关于Pycharm右下角不显示解释器interpreter的问题解决
  • 为什么word生成的PDF内容显示不全?
  • JVM专题十三:总结与整理(持续更新)
  • MobPush iOS端海外推送最佳实现
  • 商家团购app微信小程序模板
  • 探索AudioLM:音频生成技术的未来
  • 计算机视觉:深入了解图像分类、目标检测和图像分割的核心技术
  • Django 安装 Zinnia 后出现故障
  • .net 8 集成 MinIO文件存储服务,实现bucket管理,以及文件对象的基本操作
  • Three.js机器人与星系动态场景:实现3D渲染与交互式控制
  • Android系统集成和使用FFmpeg
  • 水果商城外卖微信小程序模板
  • 【前端】面试八股文——输入URL到页面展示的过程
  • 什么是应用安全态势管理 (ASPM):综合指南
  • 认识100种电路之耦合电路
  • c++【入门】三数的乘积
  • C++实现简化版Qt的QObject(4):增加简单实用的事件机制
  • JTracker IDEA 中最好的 MyBatis 日志格式化插件
  • 物联网工业级网关解决方案 工业4G路由器助力智慧生活
  • IoTDB Committer+Ratis PMC Member:“两全其美”的秘诀是?
  • 【链表】- 移除链表元素
  • 云原生之使用Docker部署RabbitMQ消息中间件
  • opengl箱子的显示
  • Oracle 视图、存储过程、函数、序列、索引、同义词、触发器
  • 网站被浏览器提示“不安全”的解决办法
  • typescript定义函数的传参、返回值
  • GlimmerHMM安装与使用-生信工具24
  • Elasticsearch架构基本原理