Python定时任务sched模块用法示例


Posted in Python onJuly 16, 2018

本文实例讲述了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 startprint end,而定时任务会分开执行。打印end不会阻塞。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python中利用Future对象异步返回结果示例代码
Sep 07 Python
python使用os.listdir和os.walk获得文件的路径的方法
Dec 16 Python
python查询mysql,返回json的实例
Mar 26 Python
python的dataframe和matrix的互换方法
Apr 11 Python
python爬虫租房信息在地图上显示的方法
May 13 Python
分享PyCharm的几个使用技巧
Nov 10 Python
python如何保存文本文件
Jun 07 Python
Python多线程threading创建及使用方法解析
Jun 17 Python
keras 实现轻量级网络ShuffleNet教程
Jun 19 Python
python3.4中清屏的处理方法
Jul 06 Python
pycharm + django跨域无提示的解决方法
Dec 06 Python
Python查找算法的实现 (线性、二分,分块、插值查找算法)
Apr 24 Python
python中使用print输出中文的方法
Jul 16 #Python
django用户登录和注销的实现方法
Jul 16 #Python
Flask框架实现给视图函数增加装饰器操作示例
Jul 16 #Python
flask框架使用orm连接数据库的方法示例
Jul 16 #Python
flask框架实现连接sqlite3数据库的方法分析
Jul 16 #Python
Sanic框架异常处理与中间件操作实例分析
Jul 16 #Python
对pycharm代码整体左移和右移缩进快捷键的介绍
Jul 16 #Python
You might like
使用PHP socke 向指定页面提交数据
2008/07/23 PHP
ThinkPHP关联模型操作实例分析
2012/09/23 PHP
PHP反向代理类代码
2014/08/15 PHP
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
Javascript中暂停功能的实现代码
2007/03/04 Javascript
Javascript-Mozilla和IE中的一个函数直接量的问题分析
2007/08/12 Javascript
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
Flow之一个新的Javascript静态类型检查器
2015/12/21 Javascript
AngularJS模块学习之Anchor Scroll
2016/01/19 Javascript
jQuery插件fullPage.js实现全屏滚动效果
2016/12/02 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
vue将毫秒数转化为正常日期格式的实例
2018/09/16 Javascript
ajax跨域访问遇到的问题及解决方案
2019/05/23 Javascript
bootstrap table实现iview固定列的效果实例代码详解
2019/09/30 Javascript
详解node.js创建一个web服务器(Server)的详细步骤
2021/01/15 Javascript
[14:36]2014 DOTA2国际邀请赛中国区预选赛5.21 Orenda VS NE
2014/05/22 DOTA
用Python写的图片蜘蛛人代码
2012/08/27 Python
python使用Matplotlib画条形图
2020/03/25 Python
详解Python对JSON中的特殊类型进行Encoder
2019/07/15 Python
python基于三阶贝塞尔曲线的数据平滑算法
2019/12/27 Python
PyTorch加载自己的数据集实例详解
2020/03/18 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
pytorch实现查看当前学习率
2020/06/24 Python
CSS3 开发工具收集
2010/04/17 HTML / CSS
HTML5之tabindex属性全面解析
2016/07/07 HTML / CSS
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
中学生个人自我评价
2014/02/06 职场文书
逃课上网检讨书
2014/02/20 职场文书
高中军训感言500字
2014/02/24 职场文书
求职简历自我评价范例
2014/03/12 职场文书
八荣八耻的活动方案
2014/08/16 职场文书
新娘父亲婚礼致辞
2015/07/27 职场文书
保外就医申请书范文
2015/08/06 职场文书
超级实用!五步法则,教你写好年终工作总结
2019/12/05 职场文书
《堡垒之夜》联动《刺客信条》 4月7日正式上线
2022/04/06 其他游戏
tomcat正常启动但网页却无法访问的几种解决方法
2022/05/06 Servers