Python中schedule模块的定时任务如何使用(python,schedule,开发技术)

时间:2024-05-10 03:45:43 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    Python%E4%B8%ADschedule%E6%A8%A1%E5%9D%97%E7%9A%84%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8

比如当满足一定条件时,就取消定时任务,在这种场景下,不可能说把进程干掉,所以可以利用取消定时任务的功能

如下代码,通过count控制当执行了5此以后,就取消定时任务

执行结果如下,可以看到当执行完5此打印后,进程并没有退出,但是定时任务不再执行了

2022-05-25 00:03:15 in do func : 姓名:张三丰 年龄:100

2022-05-25 00:03:17 in do func : 姓名:张三丰 年龄:100

2022-05-25 00:03:19 in do func : 姓名:张三丰 年龄:100

2022-05-25 00:03:21 in do func : 姓名:张三丰 年龄:100

2022-05-25 00:03:23 in do func : 姓名:张三丰 年龄:100

定时任务执行一次似乎是没啥意义的,但是在某些场景下,比如执行了一定次数后,当满足一定条件时只需要再执行一次,这个时候就派上用场了

如下为单纯的只执行一次的定时任务

执行结果如下,可以发现,执行完一次就不再执行了

2022-05-25 00:14:20 in do func : 姓名:张三丰 年龄:100

执行一次的定时任务的原理其实是在任务函数结尾返回了一个取消任务的消息,这里真正的价值在于将任务是否结束的决定权交给了任务函数,即可以在任务函数中进行条件判断,当达到一定的业务逻辑条件时,可以返回取消定时任务的消息,这样设置定时任务就更加灵活了

如下,可以在业务中判断是否具备停下来的条件,当条件满足了就停下来不再执行了

执行结果如下:

2022-05-25 00:19:30 in do func : 姓名:张三丰 年龄:100

2022-05-25 00:19:32 in do func : 姓名:张三丰 年龄:100

2022-05-25 00:19:34 in do func : 姓名:张三丰 年龄:100

2022-05-25 00:19:36 in do func : 姓名:张三丰 年龄:100

2022-05-25 00:19:38 in do func : 姓名:张三丰 年龄:100

已经执行5次了,达到预期结果了,不需要再执行了...

获取所有的定时任务作用就是可以根据一定的条件,对某些满足条件的定时任务进行各种操作如修改等

如下代码为对间隔3的任务从每3秒修改为每3分钟

执行结果如下:

原始定时任务:

Job(interval=2, unit=seconds, do=do_func, args=('张三丰', 100), kwargs={})

Job(interval=3, unit=seconds, do=do_func, args=('张三丰', 200), kwargs={})

修改后的定时任务:

Job(interval=2, unit=seconds, do=do_func, args=('张三丰', 100), kwargs={})

Job(interval=3, unit=minutes, do=do_func, args=('张三丰', 200), kwargs={})

如下为取消所有任务的代码,取消之前显示有两个任务,取消后显示有0个定时任务

执行结果为:

2

0

如下代码演示了给任务打标签,根据标签挑选任务,根据标签清除任务等操作

执行结果如下:

根据demo2标签挑选出的任务

Job(interval=2, unit=seconds, do=do_func, args=('张三丰', 100), kwargs={})

Job(interval=3, unit=seconds, do=do_func, args=('张三丰', 200), kwargs={})

删除demo3标签的任务后,剩余的任务

Job(interval=2, unit=seconds, do=do_func, args=('张三丰', 100), kwargs={})

本文:Python中schedule模块的定时任务如何使用的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:C++引用方法如何使用下一篇:

58 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18