Python定时任务sched模块用法示例
作者:铠甲巨人 发布时间:2021-12-17 12:49:42
标签:Python,定时任务,sched模块
本文实例讲述了Python定时任务sched模块用法。分享给大家供大家参考,具体如下:
通过sched
模块可以实现通过自定义时间,自定义函数,自定义优先级来执行函数。
范例一
import time
import sched
schedule = sched.scheduler( time.time,time.sleep)
def func(string1):
print "now excuted func is %s"%string1
print "start"
schedule.enter(2,0,func,(1,))
schedule.enter(2,0,func,(2,))
schedule.enter(3,0,func,(3,))
schedule.enter(4,0,func,(4,))
schedule.run()
print "end"
schedule是一个对象,叫什么名字都可以
schedule.enter(delay,priority,action,arguments)
第一个参数是一个整数或浮点数,代表多少秒后执行这个action任务
第二个参数priority是优先级,0代表优先级最高,1次之,2次次之,当两个任务是预定在同一个时刻执行时,根据优先级决定谁先执行。
第三个参数就是你要执行的任务,可以简单理解成你要执行任务的函数的函数名
第四个参数是你要传入这个定时执行函数名函数的参数,最好用括号包起来,如果只传入一个参数的时候用括号包起来,该参数后面一定要加一个逗号,如果不打逗号,会出现错误。
例如:
schedule.enter(delay, priority, action, (argument1,))
run()
一直被阻塞,直到所有任务全部执行结束。每个任务在同一线程中运行,所以如果一个任务执行时间大于其他任务的等待时间,那么其他任务会推迟任务的执行时间,这样保证没有任务丢失,但这些任务的调用时间会比设定的推迟。
多线程执行定时任务
范例二
import time
import sched
from threading import Timer
def print_name(str):
print "i'm %s"%str
print "start"
Timer(5,print_name,("superman",)).start()
Timer(10,print_name,("spiderman",)).start()
print "end"
通过多线程,实现定时任务
在多线程中,如果只通过schedule
,会因为线程安全的问题会出现阻塞,一个任务执行,如果没有结束而另一个任务就要等待。
通过threading.Timer
可以避免这个问题效果就是直接执行Print start
和print end
,而定时任务会分开执行。打印end不会阻塞。
希望本文所述对大家Python程序设计有所帮助。
来源:https://www.cnblogs.com/ArmoredTitan/p/9138509.html


猜你喜欢
- 通过结构体生成jsonbuf, err := json.MarshalIndent(s, "", " &quo
- 前言……最近在学习yolo1、yolo2和yolo3,写这篇博客主要是为了让自己对yolo2的结
- 方法:通过desc:都无法实现:方法一:select sp.productid,sp.productname,ss.sku from sp_
- 如果出现 automation服务器不能创建对象 解决方法:1、如果是Scripting.FileSystemObje
- pytorch显存越来越多的一个原因optimizer.zero_grad()loss.backward()optimizer.step()
- 知道如何快速在命令行或者python脚本中实例化一个浏览器通常是非常有用的。每次我需要做任何关于web的自动任务时,我都使用这段python
- 本文实例讲述了python实现中文分词FMM算法。分享给大家供大家参考。具体分析如下:FMM算法的最简单思想是使用贪心算法向前找n个,如果这
- 背景重装系统,发现之前装在E盘的python可以直接使用,就只是将python的安装目录加入到环境变量中,也一直没有管它,今天跟天软交互的时
- 在SQL查询分析器执行以下代码就可以了。01.declare @t varchar(255),@c varchar(255) 02.decl
- 统计表中常常以本年累计、上年同期(累计)、当期(例如当月)完成、上月完成为统计数据,并进行同比、环比分析。如下月报统计表所示样例,本文将使用
- 下拉菜单平常见到的都是用js来实现的,本文介绍的方法是使用纯CSS实现导航下拉菜单功能,代码符合标准,兼容性好且环保,制作下拉菜单的不错选择
- 百度的资料,保存下来:在写按时间段查询的sql语句的时候 一般我们会这么写查询条件:where date>='2010-01-
- A Process Control System 使用b/s架构、运行在类Unix系统上一个进程监控管理系统它可以使进程以daemon方式运
- 摘要django框架本身自带有登录注册,也可以自己写登录注册,下面将介绍这这2种方式实登录注册一、自己写登录注册登出1.注册regist注册
- 存储函数也是过程式对象之一,与存储过程相似。他们都是由SQL和过程式语句组成的代码片段,并且可以从应用程序和SQL中调用。然而,他们也有一些
- C#连接数据库:Connection对象1.Connection对象概述Connection对象是一个连接对象,主要功能是建立与物理数据库的
- 前言今天在升级下载Python第三方库的时候特别慢,最后去升级pip的时候竟然还time out了,哇心态炸了。 最后想了一下为什么会这么慢
- SecureFile功能是oracle 11g中对大对象(LOB)存储格式的完全重新设计实现,原来的LOB存储格式现在通称为BASIXFIL
- 译文原文:http://blog.benhuoer.com/2009/04/10-simple-and-impressive-design-
- 一、UNION和UNION ALL的作用和语法UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行。UNION