Python 中的 Schedule

本篇文章将介绍 Python 中的 Schedule 包,以在特定时间间隔后定期安排作业。

Schedule是Python中的一个轻量级进程调度程序库,用于安排任务以指定的时间间隔定期运行。

我们可以使用人类友好的语法调用函数或任何可调用对象来自动执行任务,例如发送电子邮件、设置提醒、定期获取货币或比特币的价格。


在 Python 中安装时间表库

我们必须首先使用以下命令安装此软件包才能使用它。

#Python 3.x
pip install schedule

为了安排作业,我们使用以下语法。

语法:

#Python 3.x
Schedule.every(interval).[timeframe].do(function)

参数:

  • interval 可以是任意整数。
  • 时间范围可以是秒、分钟、小时、天,甚至是工作日的名称,如星期一、星期二等。
  • do() 方法将函数名称作为调度的参数。

使用秒作为间隔来定期安排作业

我们在下面的代码中有一个名为任务的方法,计划每五秒定期运行一次。 我们将时间间隔(在本例中为五秒)定义为 every() 方法的参数。

我们指定要调度的函数作为 do() 方法的参数,该方法在机器到达指定时间后自动运行。 最后,我们在 while 循环中执行 run_pending() 函数来连续运行计划的作业。

在输出中,消息“Task is running”按照编程每五秒一次显示一次。

示例代码:

#Python 3.x
import schedule as s
import time as t
def task():print("Task is running")
s.every(5).seconds.do(task)
while True:s.run_pending()t.sleep(1)

输出:

#Python 3.x
Task is running
Task is running
Task is running
Task is running
Task is running

使用分钟、小时和天作为间隔来定期安排作业

如果我们想将间隔更改为任何指定的分钟、小时或一周中的几天,我们可以编写这样的代码。 输出将根据设置的时间持续显示消息。

示例代码:

#Python 3.x
import schedule as s
import time as t
def task():print("Task is running")
s.every(5).minutes.do(task)
s.every(10).hours.do(task)
s.every().monday.do(task)
while True:s.run_pending()t.sleep(1)

输出:

#Python 3.x
Task is running
Task is running
Task is running

使用 HH:MM 格式的时间作为间隔来定期安排作业

我们还可以设置 HH:MM:SS 格式的特定时间作为函数的参数。 该消息将在每个指定的时间间隔后定期显示。

示例代码:

#Python 3.x
import schedule as s
import time as t
def task():print("Task is running")
s.every().day.at("04:21").do(task)
s.every().monday.at("12:00").do(task)
while True:s.run_pending()t.sleep(1)

输出:

#Python 3.x
Task is running

使用函数装饰器来安排作业

函数装饰器接受函数作为输入,添加一些功能,然后返回一个函数。 我们将在这里使用 @repeat 来安排任务函数。

示例代码:

#Python 3.x
from schedule import every, run_pending, repeat
import time as t
@repeat(every(5).seconds)
def task():print("Task is running")
while True:run_pending()t.sleep(1)

输出:

#Python 3.x
Task is running
Task is running
Task is running

一次运行一个作业

我们可以通过在调度实例中使用 CancelJob 来取消作业,从而立即运行作业。

示例代码:

#Python 3.x
import schedule as s
import time as t
def task():print("Task is running")return s.CancelJob
s.every(5).seconds.do(task)
while True:s.run_pending()t.sleep(1)

输出:

#Python 3.x
Task is running

取消所有作业

我们可以使用调度程序实例的 clear() 方法取消调度程序中的所有作业。 在这里,我们使用 get_jobs() 方法从调度程序打印调度的作业。

示例代码:

#Python 3.x
import schedule as s
import time as t
def task():print("Task is running")
s.every(5).seconds.do(task)
print("Jobs:", s.get_jobs())
s.clear()
print("Jobs:", s.get_jobs())

输出:

#Python 3.x
Jobs: [Every 5 seconds do task() (last run: [never], next run: 2022-04-08 16:59:37)]
Jobs: []

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/127069.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于深度学习的语音识别算法的设计与实现

收藏和点赞,您的关注是我创作的动力 文章目录 概要 一、课题内容二、需求分析2.1 算法需求分析2.2 语音录制2.3 声学模型2.4 语言模型2.5 训练集和测试集2.6 深度神经网络 三 算法设计原理3.1 语音识别系统3.1.1 声学模型3.1.2 语言模型3.1.3 发音词典 四 简单问答…

全新二开游戏支付通道/话费/电网、紫水晶带云端源码

源码修复可用,YY业务都可用 本店所售程序只供测试研究,不得使用于非法用途,不得违反国家法律,不得用于进行违法行为,否则后果自负!购买以后用作他用附带的一切法律责任后果都由购买者承担于本店无任何关…

jQuery中ajax如何使用

jQuery中ajax如何使用及代码详解 1. 引言 在现代Web开发中,使用Ajax进行异步数据交互变得非常普遍。而在jQuery中,提供了便捷的方法来实现Ajax请求,简化了开发过程。本文将介绍jQuery中如何使用Ajax以及通过代码详解其使用方法。 2. Ajax简介…

有效的数独

题目链接 有效的数独 题目描述 注意点 board.length 9board[i].length 9board[i][j] 是一位数字(1-9)或者 ‘.’ 解答思路 首先判断行是否满足数独条件,再判断列是否满足数独条件,最后再判断划分的3x3方格是否满足数独条件…

Tuna: Instruction Tuning using Feedback from Large Language Models

本文是LLM系列文章,针对《Tuna: Instruction Tuning using Feedback from Large Language Models》的翻译。 Tuna:使用来自大型语言模型的反馈的指令调优 摘要1 引言2 方法3 实验4 相关工作5 结论局限性 摘要 使用更强大的LLM(如Instruction GPT和GPT-…

PCI9054入门1:硬件引脚定义、时序、FPGA端驱动源码

文章目录 1:PCI9054的FPGA侧(local侧引脚定义)2:PCI9054的C模式下的读写时序3:FPGA代码部分具体代码: 1:PCI9054的FPGA侧(local侧引脚定义) 而PCI9054的本地总线端的主要…

小程序day01

简介: 小程序项目的基本结构 页面的组成部分 一个页面对应一个文件夹,所有有关的内容都放在一起。 JSON配置文件 2.app.json文件 3.project.config.json文件 4.sitemap.json文件 5.页面的.json配置文件 6. 新建小程序页面 7.修改项目首页 小程序代码构成 小程序的宿…

zabbix6.4监控centos

1、关闭防火墙 setenforce 0 #关闭SELinux sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config #设置永久关闭SELinux systemctl stop firewalld.service #关闭防火墙 systemctl disable firewalld.service …

某汽车金融企业:搭建SDLC安全体系,打造智慧金融服务样本

某汽车金融企业是国内头部汽车金融公司,已经为超过数百万名客户提供专业的汽车金融服务。该公司通过近几年的数字化创新,在提升客户体验、提高管理效率、降低经营成本等方面已具备很强的服务能力,让客户获得更方便、更快捷、更灵活的金融服务…

VScode clangd 插件浏览 linux 源码

文章目录 VScode clangd 插件浏览 linux 源码clangd 安装与配置VScode 插件安装clangd 安装方法一方法二 clangd 配置 cmake 生成bear 生成 compile_commands.json触发 clangd linux 内核脚本生成 compile_commands.json 文件三种方式对比 VScode clangd 插件浏览 linux 源码 …

【计算机网络笔记】传输层——可靠数据传输之流水线机制与滑动窗口协议

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…

Kotlin this和it的使用区别

在 Kotlin 中,this 和 it 是两个关键字,用于引用不同的对象。 this 关键字: 在类或对象中,this 关键字引用当前对象本身。 在 Lambda 表达式中,this 关键字引用包含该 Lambda 的类实例。 class MyClass {private val…

大模型需要哪类服务器

大模型需要高性能的服务器,以支持大规模的计算和存储需求。一般来说,大模型需要以下类型的服务器: 大型机:大型机可以提供强大的计算能力,适合处理大规模的数据和复杂的计算任务。 GPU服务器:GPU服务器可以…

2023秋《论文写作》课程总结

2023秋《论文写作》课程总结 授课教师为闵帆教授,原文链接《论文写作》 文章目录 2023秋《论文写作》课程总结一、关于写作工具二、关于写作中的单词、短语、语法等三、关于论文题目四、关于摘要和关键词五、关于引言部分六、关于方法及实验部分七、关于结论八、关…

亲测解决Input dtype must be either a floating point or complex dtype. Got: Long

这个问题是小虎在对张量去平均值的时候遇到。解决方法是先将改张量转成浮点数&#xff0c;然后再取平均值。 背景 pytorch ubuntu 22.04 问题原文 Traceback (most recent call last): File "<string>", line 1, in <module> RuntimeError: mean(): …

uniapp 拉起授权(拒绝后重新开启权限)

在 uniapp 中&#xff0c;你可以通过以下步骤来拉起权限&#xff0c;如果权限被拒绝&#xff0c;可以尝试重新开启权限&#xff1a; 引入 uniapp 的权限模块&#xff1a;首先&#xff0c;你需要在项目中引入 uniapp 的权限模块。在 manifest.json 文件中&#xff0c;找到 uni_m…

76. 最小覆盖子串

76. 最小覆盖子串 滑动窗口 经典写法 class Solution {public String minWindow(String s, String t) {HashMap<Character, Integer> window new HashMap<>(), need new HashMap<>();for(char c : t.toCharArray()) need.merge(c, 1, Integer::sum);int…

【面试】Kafka基础知识

定义 Kafka是一个分布式基于发布/订阅模式的消息队列 优点 解耦&#xff1a;上下游之间依赖解耦。缓冲/削峰&#xff1a;生产消息的速度和消费消息的速度不一致时&#xff0c;可以起到缓冲作用。异步&#xff1a;天然的异步处理机制&#xff0c;生产者把消息(任务)放进队列&…

vue+element ui中的el-button自定义icon图标

实现 button的icon属性自定义一个图标名称&#xff0c;这个自定义的图标名称会默认添加到button下i标签的class上&#xff0c;我们只需要设置i标签的样式就可以了 ##3. 按钮上使用自定义的icon 完整代码 <div class"lookBtn"><el-button icon"el-icon-…

CSS与基本选择器

<div class"c1" id"d1"></div> CSS基本知识 什么是css&#xff1a;CSS&#xff08;Cascading Style Sheet&#xff0c;层叠样式表)定义如何显示HTML元素。 当浏览器读到一个样式表&#xff0c;他就会按照这个样式l来进行渲染。其实就是让HT…