APSchedular Python 示例17 Mar 2025 | 6 分钟阅读 您可以使用 Advanced Python Scheduler (APScheduler) Python 包,将 Python 代码安排在稍后执行,可以只执行一次,也可以经常执行。您可以灵活地按需添加新任务并删除旧任务。 如果您将任务保存在数据库中,它们将能够承受调度器的重启并保留其状态。所有在调度器关闭期间本应完成的任务,将在调度器重新启动后完成。 APScheduler 的一个主要优点是它可以在多个平台上使用,并且可以替代 Windows 任务计划程序或 cron 守护进程。此外,在撰写本文时,它仍在开发中。 APScheduler 提供以下三种标准计时方法
设置安装过程非常简单易懂。由于 apscheduler 是一个内置包,您应该已经拥有它了。让我们尝试一下,如果包还没有安装,我们就安装它。激活您的虚拟环境后,运行以下命令 如果没有输出,请不要惊慌;这仅仅意味着包尚未安装。如果我们进行以下操作,安装它将很简单 基本 API为了让本教程简短明了,我将只介绍 APScheduler 的四个主要组件中的两个
您将用来添加或删除作业的关键组件就是调度器。大多数用例不需要一个以上的调度器。根据编程环境,许多调度器类型都包含在模块中。 例如:BlockingScheduler, AsyncIOScheduler, TornadoScheduler, QtScheduler 等。 在本教程中,我们将使用 BackgroundScheduler,因为我们希望任务在 Flask 服务器的后台执行。 接下来是触发器组件,它包含了调度逻辑。每次将任务添加到调度器时;您都必须定义一个触发器,该触发器指定下次何时运行。APScheduler 内置三种触发器
稍后,我们将使用 interval 和 cron 触发器来展示它们之间的区别。让我们看看如何编写三行代码来构建我们自己的任务调度作业。 第一行:导入根据我们要使用的调度器,我们必须导入所需的组件。在这种情况下,我们将导入 BackgroundScheduler。 第二行:调度器创建 BackgroundScheduler 时,daemon 参数应设置为 True。通过这样做,我们可以在退出 Flask 程序时终止线程。 第三行:添加作业将使用 add_job 函数将作业添加到调度器。有三个主要的可配置参数。
看下面的代码行,它每五秒更新一次调度器的可用作业列表。 第四行:启动调度器完成设置后,使用以下行启动调度器 如果您在 Python shell 中执行代码,您应该能看到以下输出 ![]() 如果您按 Ctrl-C 取消 KeyboardInterrupt,调度器将继续运行,直到您按 Ctrl-Z 退出 Python Shell 或使用 shutdown 函数。 与 Flask 集成 APScheduler 可以轻松地与 Flask 集成,没有任何问题。创建一个名为 test.py 的新 Python 文件进行测试。 进口 作业函数 这次,我们不使用匿名函数,而是使用一个真实的函数。在新创建的 sensor 函数中,输入以下代码。count 变量仅用作示例,以显示我们迄今为止计划了多少作业。 调度器 除了使用 cron 触发器而不是 interval 之外,我们将以与前几个阶段相同的方式定义调度器。 取而代之的是,我们将指定 minute 选项,以便操作每分钟运行一次。在此情况下使用星号。如果您将其设置为 5,它将在每小时的五分钟点被调用一次。 当添加具有参数的函数时,可以使用 args 参数来传递参数。它将接受一个元组或列表。假设我们之前使用的函数有两个参数。add_job 函数可以这样调用 Flask 剩余的任务是定义运行 Flask 服务器所需的函数。 打开控制台后,将目录切换到 test.py 文件所在的位置。运行命令 sensor 函数可以轻松修改以执行您想要的任务。示例包括
只需几行代码即可实现各种用例。 触发器示例在本部分中,我们将提供一些示例,展示如何根据您的需求自定义触发器。 Interval一些最有用的配置选项包括以下内容
以下代码将使其每两个小时运行一次 为了确保作业仅在开始和结束时间戳之间执行,您可以使用 start 和 end 参数。 Cron为了确保作业仅在开始和结束时间戳之间执行,您可以使用 start 和 end 参数。 由于它提供了更多的设置选项,cron 触发器更加复杂。
与 interval 触发器不同,参数的末尾没有 *,并且接受字符串或整数作为输入。从 year 到 second 的字符串输入字段可接受以下表达式。 计划作业在“2 a.m.、3 a.m.、4 a.m. 和 5 a.m.”的“2 月、3 月、4 月、11 月和 12 月”的每个第三个星期五运行 计划每月最后一个星期日运行任务 计划每小时运行任务 组合触发器根据您的用例,如果出现需要的情况,可以使用 AndTrigger 和 OrTrigger 来组合触发器。 计划作业每三个小时运行一次(仅限周一和周二) 结论我们的第一步是安装 APScheduler 模块。 然后,我们详细检查了模块的两个基本部分:调度器和触发器。我们还测试了调度器的四行 Python Shell 实现。 下一步是将其集成到基本的 Flask 服务器中。我们使用了一个真实的函数,而不是一个匿名函数。 之后,我们了解了配置触发器组件参数的一些示例。我们还可以使用 AndTrigger 和 OrTrigger 组合 interval 和 cron 触发器。 下一主题Oserror Python |
Python 中的 'and' 与 '&' 在以下教程中,我们将了解 Python 编程语言中 'and' 与 '&' 之间的区别。理解 Python 中 'and' 与 '&' 之间的区别 这些是我们用于 Python 的一些运算符;但是,有一个根本的区别...
阅读 3 分钟
Pyramid 是一个通用的开源 Python 框架,用于开发 Web 应用程序。此框架使 Python 开发人员能够轻松创建 Web 应用程序。Pyramid 框架由企业知识管理系统 KARL(一个乔治·索罗斯项目)提供支持。环境设置如前所述,“从小处着手,大处收尾,...
阅读 6 分钟
Python 是目前最流行的编程语言之一。学习 Python 并不像学习任何其他过程语言那么难,因为它具有简化的语法、动态类型和面向对象的特性。网络上有很多资源可以帮助初学者入门...
阅读 3 分钟
Python 是当今开发人员使用最广泛的编程语言之一。它由 Guido Van Rossum 于 1991 年创建,自成立以来,它一直是最受欢迎的语言之一,与 C++、Java 等并驾齐驱。Python 在我们的...取得了巨大领先。
阅读 6 分钟
在本教程中,我们将学习如何使用 Python 计算前 n 个自然数的平方和。我们有一个正整数 "N",我们的任务是计算 (12 + 22 + 32 + 42 + 52 +… + N2) 示例:输入:N =...
阅读 3 分钟
Python是一种高级编程语言,广泛用于数据科学、机器学习和Web开发。数据科学中一个常见的操作是将浮点值四舍五入到两位小数。在处理金融数据或任何其他数字时,此操作很有用...
阅读 3 分钟
在此问题中,我们将有一个整数数组。特定数组索引处的每个整数指定我们可以从该索引跳跃的最大长度。我们必须找到到达数组最后一个索引所需的跳跃次数。
11 分钟阅读
在本教程中,我们将学习如何使用 Tkinter 和 Python 构建一个简单的记事本。记事本 GUI 包含文件和编辑等不同选项。所有功能,如保存文件、打开文档、编辑、复制和粘贴,都是可能的。Python,...
阅读 4 分钟
NumPy 和 Pandas 简介 NumPy 是科学计算的核心 Python 库之一。该库以其动态编程功能而闻名,包括高级语法、对各种硬件和计算设备的兼容性、数值计算实用程序、Python 的多功能性、编译效率...
阅读 6 分钟
队列是一个核心库,允许用户根据 FIFO(先进先出)原则定义列表。相比之下,它拥有相反的原则:LIFO(后进先出)队列。在接下来的教程中,我们将只了解...
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India