首页 > 编程语言 >schedule 定时运行 Python 函数

schedule 定时运行 Python 函数

时间:2023-12-20 13:56:47浏览次数:29  
标签:do schedule Python 30 job every import 定时

安装

pip install schedule

例子

每x分钟运行一次
import schedule
import time

def job():
    print("I'm working...")

# 每 3 秒/分钟/小时/天/周运行一次任务、
# 从现在开始每 3 秒/分钟/小时/天/周运行一次作业
schedule.every(3).seconds.do(job)
schedule.every(3).minutes.do(job)
schedule.every(3).hours.do(job)
schedule.every(3).days.do(job)
schedule.every(3).weeks.do(job)

# 每分钟在第 23 秒运行任务
schedule.every().minute.at(":23").do(job)

# 每小时第42分钟运行
schedule.every().hour.at(":42").do(job)

# 每隔 5 小时 20 分 30 秒执行一次任务。
# 如果当前时间是 02:00,则第一次执行时间为 06:20:30
schedule.every(5).hours.at("20:30").do(job)

#每天在指定的 HH:MM 和下一个 HH:MM:SS 运行任务
schedule.every().day.at("10:30").do(job)
schedule.every().day.at("10:30:42").do(job)
schedule.every().day.at("12:42", "Europe/Amsterdam").do(job)

# 在一周的某一天运行任务
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
schedule.every().minute.at(":17").do(job)

while True:
    schedule.run_pending()
    time.sleep(1)
    
 #这调用了一个名为schedule的对象的run_pending方法。这个方法通常用于检查并执行任何待处理的计划任务。具体的行为取决于schedule对象的实现,但通常它会查看当前时间与任务计划时间的差异,并决定是否现在应该运行该任务
使用装饰器执行任务

使用@repeat来安排函数。使用与上面相同的语法传递一个间隔,同时省略.do().

from schedule import every, repeat, run_pending
import time

@repeat(every(10).minutes)
def job():
    print("I am a scheduled job")

while True:
    run_pending()
    time.sleep(1)
参数传递给任务
import schedule

def greet(name):
    print('Hello', name)

schedule.every(2).seconds.do(greet, name='Alice')
schedule.every(4).seconds.do(greet, name='Bob')

from schedule import every, repeat

@repeat(every().second, "World")
@repeat(every().day, "Mars")
def hello(planet):
    print("Hello", planet)
取消任务
import schedule

def some_task():
    print('Hello world')

job = schedule.every().day.at('22:30').do(some_task)
schedule.cancel_job(job)

标签:do,schedule,Python,30,job,every,import,定时
From: https://www.cnblogs.com/luckyletop/p/17916329.html

相关文章

  • Python实现软件设计模式6:单例模式 Singleton Pattern
    动机针对某个类,为了保证系统中只创建一个示例,并且易于被访问(例如操作系统的任务管理器,软件的登陆注册界面)自行创建这个实例,无法从外部创建这个实例,向系统提供这个实例饿汉式单例Java版本在类加载的时候,就创建对象,如果后续得不到使用,可能会造成内存资源浪费懒汉式单......
  • 《Python网络爬虫:从入门到实战》
    ......
  • Python实现软件设计模式5:原型模式 Prototype Pattern
    动机对象的克隆问题,想要复制出本对象的一个副本,属性方法一模一样从需求上来说,先快速克隆对象,后续根据需求再进行对象局部属性的修改区分为深克隆和浅克隆两个版本,默认为浅克隆角色Prototype抽象原型类ConcretePrototype具体原型类Client客户类浅克隆与深克隆......
  • 如何将 Python 项目打包成 exe,另带卸载功能!
    前言虽然我是做web的,但是对Python的众多开源项目一直都很关注。像之前的stablediffusion的AI绘画,和so-vits-svc音色替换等源码的部署文档都很完善了。尽管如此,对于刚入门的和本地环境搭建各种踩坑的同学,又急于一试就显得不太友好了。针对这一现象,网上早有了各种大佬做......
  • 手把手教你用python做一个年会抽奖系统
    引言马上就要举行年会抽奖了,我们都不知道是否有人能够中奖。我觉得无聊的时候可以尝试自己写一个抽奖系统,主要是为了娱乐。现在人工智能这么方便,写一个简单的代码不是一件困难的事情。今天我想和大家一起构建一个简易的抽奖系统,这样也能够巩固一下我自己对Python语法和框架的理解......
  • python xattr库
    因:ceph有一条设置文件/目录配额的命令ceph.quota.max_bytes,想在Python代码中调用它,最直接的方法是使用popen/subprocess等库直接执行这条命令,但如果频繁调用担心会影响系统性能,查阅资料发现xattr库也可以实现且更加方便。开始吧首先需要安装xattr库pip3installxattr......
  • 12.19---python
    seek()方法语法如下:file.seek(offset[,whece])offset--开始的偏移量,也就是代表需要移动偏移的字节数,如果是负数表示从倒数第几位开始。whence:可选,默认值为0。给offset定义一个参数,表示要从那个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾......
  • 【Python微信机器人】第六篇:优化使用方式,可pip安装
    优化内容这篇不聊技术点,说一下优化后的Python机器人代码怎么使用,优化内容如下:将hook库独立成一个库,发布到pypi,可使用pip安装将微信相关的代码发布成另一个库,也可以pip安装git仓库统一,以后都在这个仓库更新,不再一篇文章一个仓库开始建群,根据群里反馈增加功能和修复bug使用......
  • linux中部署python项目
    参考这篇博客:https://blog.csdn.net/smilehappiness/article/details/1173379431.首先查看python的版本:python-V2.安装python:3.安装虚拟环境报错1: 解决办法:export CURL_CA_BUNDLE="/etc/pki/tls/certs/ca-bundle.crt"https://3ms.huawei.com/km/blogs/details/14442367htt......
  • Python学习的相关资源
    Python是一门强大而且多用途的编程语言,在数据科学、机器学习、Web开发和软件工程等多个行业中都得到了广泛应用。 如果老师们和同学们对学习Python感兴趣,网上有很多免费Python资源可供使用,包括许多免费网站,提供教程、练习和交互式编程环境。 编程语言的学习不同于一般的......