调度器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 IntervalTrigger

scheduler = 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.mfbz.cn/a/763691.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络安全等级保护2.0(等保2.0)全面解析

一、等保2.0的定义和背景 网络安全等级保护2.0(简称“等保2.0”)是我国网络安全领域的基本制度、基本策略、基本方法。它是在《中华人民共和国网络安全法》指导下,对我国网络安全等级保护制度进行的重大升级。等保2.0的发布与实施&#xff0c…

WEB01MySQL安装和数据库

第一天、WEB课程 web课程主要讲三部分内容 数据库 数据库介绍 什么是数据库 数据存储的仓库,其本质也是一个文件系统 数据库会按照特定的格式对数据进行存储,用户可以对数据库中的数据进行增加,修改,删除及查询操作。 数据库…

240701_昇思学习打卡-Day13-Vision Transformer图像分类

240701_昇思学习打卡-Day13-Vision Transformer图像分类 Transformer最开始是应用在NLP领域的,拿过来用到图像中取得了很好的效果,然后他就要摇身一变,就叫Vision Transformer。 该部分内容还是参考太阳花的小绿豆-CSDN博客大佬的视频11.1 …

JTracker IDEA 中最好的 MyBatis 日志格式化插件

前言 如果你使用 MyBatis ORM 框架,那么你应该用过 MyBatis Log 格式化插件,它可以让我们的程序输出的日志更人性化。 但是有一个问题,通常我们只能看到格式化后的效果,没办法知道这个 SQL 是谁执行的以及调用的链路。 如下图所…

python之列表

1.概述 线性的数据结构 有序的队列,可以使用下标进行索引 可变的序列 列表中的个体称为元素,多个元素组成列表 列表的语法是[],多个元素使用逗号分隔 列表中的元素类型可以不同 2.定义列表 使用【】方法,多个元素之间使用逗号进行分隔 使用li…

【单片机毕业设计选题24042】-基于无线传输的老人健康监护系统

系统功能: 系统操作说明: 上电后OLED显示 “欢迎使用健康监护系统请稍后”,两秒后显示Connecting...表示 正在连接阿里云,正常连接阿里云后显示第一页面,如长时间显示Connecting...请 检查WiFi网络是否正确。 第一页面第一行…

机器人入门路线及参考资料(机器人操作方向)

机器人(操作方向)入门路线及参考资料 前言1 数理基础和编程2 机器人学理论3 计算机视觉4 机器人实操5 专攻方向总结Reference: 前言 随着机器人和具身智能时代的到来,机器人越来越受到大家的重视,本文就介绍了机器人(…

方正小标宋简体、仿宋GB2312、楷体GB2312字体

文章目录 下载地址所有的文件wps使用方正小标宋简体、仿宋GB2312、楷体GB2312 字体用途方正小标宋简体仿宋GB2312楷体GB2312 下载地址 【金山文档 | WPS云文档】 方正小标宋简体、仿宋GB2312、楷体GB2312 https://kdocs.cn/l/cksgHDLneqDk 所有的文件 wps使用 方正小标宋简体…

一场前端框架的“武林大会”,三大主流框架之间的性能比较!!!

大家好,我是CodeQi! 在前端开发的江湖中,Vue.js、React 和 Angular 可谓是三大门派,个个身怀绝技,堪称“武林三杰”。 我,作为一名勤奋的代码侠士,决定深入研究这三大门派的奥义,探讨它们在性能方面的表现。且听我细细道来。 什么是 Vue? Vue.js 是由尤雨溪创建的前…

【Python机器学习】模型评估与改进——打乱划分交叉验证

打乱划分交叉验证是一种非常灵活的交叉验证策略。 在打乱划分交叉验证中,每次划分为训练集取样train_size个点,为测试集取样test_size个不相交的点。将这一划分方法重复n_iter次。 举例: import matplotlib.pyplot as plt import mglearnm…

2007年上半年软件设计师【上午题】试题及答案

文章目录 2007年上半年软件设计师上午题--试题2007年上半年软件设计师上午题--答案2007年上半年软件设计师上午题–试题

高优先线程

你开发的时候有么有遇到过一个问题:服务器的一个服务线程过几个小时断连一次,断连之后会马上重连这种情况。这是由于CPU负载较高,线程调度时将处理数据的线程挂起了一段时间导致的。 因此,我有考虑到把cpu的核心进行分散开来,就类…

【stm32】大一上学期笔记复制

砌墙单片机 外设是什么? ipage 8 nx轴 128 X0-127 y0-63 PWM脉冲宽度调制 PWM脉冲宽度调制 2023年10月13日 基本特性:脉冲宽度调制PWM是一种对模拟信号进行数字编码的方法。广泛引用于电机控制,灯光的亮度调节,功率控制等领域…

【C++】——【 STL简介】——【详细讲解】

目录 ​编辑 1. 什么是STL 2. STL的版本 3. STL的六大组件 1.容器(Container): 2.算法(Algorithm): 3.迭代器(Iterator): 4.函数(Function): 5.适配器(Adapter): 6.分配器(Allocator): 4. STL的…

Java开发者如何使用RunFlow内置的QLExpress

原文发表于 solo独立开发者社区《Java开发者如何使用RunFlow内置的QLExpress》 效率工具RunFlow完全手册之Java开发者篇 本文是为Java开发者写的手册,如果您不是Java开发者可以阅读我们的开发者篇手册,当然如果您感兴趣也可以继续阅读。 输入 qe 进入QL…

2024年注册安全工程师报名详细流程

一、用户注册 1.1全国专业技术人员资格考试报名服务平台 注册登录网址http://zg.cpta.com.cn/examfront/login/initLogin.html 1.2填写资料 1.3进入照片维护,上传证件照。 需要使用【照片审核处理工具】 将照片处理成符合要求的大小格式。 ①下载照片处理工具http:/…

CTFHUB-SSRF-FastCGI协议

本题需要用到: 在线编码网址:https://icyberchef.com/ gopherus工具:https://mp.csdn.net/mp_blog/creation/editor/139440201 开启题目,页面空白 使用gopherus工具,进入到gopherus工具目录 ./gopherus.py --explo…

【软件测试】 性能测试 JMeter脚本开发!

一、JMeter脚本开发实战 实例:查询一个城市的天气预报 使用抓包工具观察请求所产生的请求列表,筛选最核心API。 A、获取城市代码 http://toy1.weather.com.cn/search?cityname西安 B、获取天气 http://www.weather.com.cn/weather1d/101110101.sht…

【学习笔记】Redis学习笔记——第5章 跳跃表

第5章 跳跃表 有序集合,ZSet关键组成部分,时间复杂度媲美平衡树,且实现简单。 5.1 跳跃表的实现 可以简单理解为每个节点会有一些指向后面跨越N个节点的指针,比如说Node1不仅有指向Node2的指针,还可以有Node5的&…

尚硅谷k8s 2

p54-56 k8s核心实战 service服务发现 Service:将一组 Pods 公开为网络服务的抽象方法。 #暴露Deploy,暴露deploy会出现在svc kubectl expose deployment my-dep --port8000 --target-port80#使用标签检索Pod kubectl get pod -l appmy-depapiVersion: v1 kind: Service metad…