范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Python定时任务Schedule模块介绍

  互联网软件开发中可以说我们离不开定时任务的功能开发。12306支付时间限制30分钟、定时短信通知、定时统计报表、定时上线活动、数据备份等。我理解的定时任务特点:周期性、定时性、离线性、低调性(夜深人静默默无闻哈哈)。定时任务在软件开发中起到了无私奉献、不求回报的大无畏精神。今天给大家介绍Python定时任务Schedule。
  Python Schedule优势:简单易用的API用于作业调度。 非常轻量级,没有外部依赖性。 出色的测试覆盖率。 在Python 3.6、3.7、3.8和3.9上测试通过。 进程内的任务调用不再需要额外的进程。
  Python Schedule缺点:持久性的任务 毫秒级的任务 并发执行(可以用多线程解决) 本地化(时区、工作日或节假日)
  1、Python Schedule模块(安装)#官方文档 https://schedule.readthedocs.io/en/stable/  #安装 pip install schedule
  2、Python Schedule模块(Hello Schedule)#模块导入 import schedule import time  #定时执行函数 def job():     with open("schedule_history.log", "a", encoding="utf-8") as objFile:     	objFile.write("Hello Schedule!!! ")       #每秒循环执行 schedule.every().second.do(job)  #守护进程 while True:     schedule.run_pending()     time.sleep(1)
  3、Python Schedule模块(业务类)#业务逻辑处理类 class HandelDataService(object):  	def __init__(self): 		pass  	def run(self): 		with open("business.txt", "a", encoding="utf-8") as fileobj:     			fileobj.write("Hello Business ") 		         import schedule import time #导入业务类 from business import HandelDataService  #调用类业务逻辑 def handle_dispatcher(): 	objDataService = HandelDataService() 	objDataService.run() 	 schedule.every().second.do(handle_dispatcher)  while True:     schedule.run_pending()     time.sleep(1)
  4、Python Schedule模块(后台运行Nohup)nohup python3 background.py 2>&1 &
  5、Python Schedule模块(后台运行官方推荐方式)import threading import time import schedule  #启动一个shedule pending线程 def run_schedule_thread(interval=1):    schedule_thread_event = threading.Event()     class ScheduleThread(threading.Thread):         @classmethod         def run(cls):             while not schedule_thread_event.is_set():                 schedule.run_pending()                 time.sleep(interval)      schedule_thread = ScheduleThread()     schedule_thread.start()     return schedule_thread_event   def background_job():     with open("demo.txt", "a", encoding="utf-8") as fileobj:     	fileobj.write("Hello Python ")  #每秒执行一次定时任务 schedule.every().second.do(background_job)  #调用schedule pending线程 run_schedule_event = run_schedule_thread()
  6、Python Schedule模块(Crontab)#每3秒执行一次 schedule.every(3).seconds.do(job) #每3分钟执行一次 schedule.every(3).minutes.do(job) #每3小时执行一次 schedule.every(3).hours.do(job) #每3天执行一次 schedule.every(3).days.do(job) #每3周执行一次 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秒执行一次 schedule.every(5).hours.at("20:30").do(job) #每天的10:30执行 schedule.every().day.at("10:30").do(job) #每天的10:30:42秒执行一次 schedule.every().day.at("10:30:42").do(job) #每星期一执行一次 schedule.every().monday.do(job) #每星期三的13:15分执行一次 schedule.every().wednesday.at("13:15").do(job)  #每5天到10天随机天数执行一次 schedule.every(5).to(10).seconds.do(my_job)  #每小时执行一次至2030年1月1日18点 schedule.every(1).hours.until("2030-01-01 18:33").do(job)
  7、Python Schedule模块(业务传参)import schedule import time  #函数传参 def job(name,address):     with open("demo3.txt", "a", encoding="utf-8") as fileobj:     	fileobj.write("Hello " + name + ", " + address + " ")  #定时任务调用传值 #每秒执行一次 schedule.every().second.do(job,name="second",address="beijing city")  while True:     schedule.run_pending()     time.sleep(1)
  8、Python Schedule模块(接口)#取消某个任务 second_job = schedule.every().second.do(job,name="second",address="beijing city") schedule.cancel_job(second_job)  #任务只运行一次 def job_exec_once():     #业务类调用     #增加return返回表示任务只运行一次     return schedule.CancelJob schedule.every().second.do(job_exec_once)  #获取所有任务 all_jobs = schedule.get_jobs()  #取消所有任务 schedule.clear()  #根据任务tag选择性过滤任务 schedule.every().day.do(greet, "Andrea").tag("daily-tasks", "friend") schedule.every().hour.do(greet, "John").tag("hourly-tasks", "friend") schedule.every().hour.do(greet, "Monica").tag("hourly-tasks", "customer") schedule.every().day.do(greet, "Derek").tag("daily-tasks", "guest") friends = schedule.get_jobs("friend")  #根据任务tag选择性取消任务 schedule.every().hour.do(greet, "John").tag("hourly-tasks", "friend") schedule.every().hour.do(greet, "Monica").tag("hourly-tasks", "customer") schedule.every().day.do(greet, "Derek").tag("daily-tasks", "guest") schedule.clear("daily-tasks")
  个人非常喜欢Schedule代码语法方式。一种适合人类逻辑思维阅读的代码设计。
  感谢大家的评论、点赞、分享、关注…

三星苹果谷歌旗舰夜景拍照对比,谁才是最后赢家?一直以来,人们都习惯用夜景拍照能力来检验手机影像能力的近日,有外媒对三星GalaxyS21UltraiPhone12ProMax和谷歌Pixel5进行了一次夜景模式拍照的对比,下面美版与国版苹果手机的区别平常的时候,我们买东西都会尽量挑选进口的,也就是国外的,虽然国产也在蒸蒸日上,但大多数人心里还是会选择更昂贵的进口货。而对于苹果手机则是不同,不仅市面上的美版比国版便宜,销售量缺低苹果AppleWatchS7曝光四年来首次外观升级,这次值得等下个月的9月17日,苹果将会召开一年一度的秋季新品发布会,届时全新的iPhone13系列iPadmini6平板都将登场亮相。目前关于这两款产品的爆料,已经有比较详细的信息,相比20苹果折叠手机可能会到来?目前智能手机的发展已经遇到了瓶颈期,手机已经从单纯的打电话发短信到现在逐步成为人体的一个器官,而智能手机的竞争已经白热化,摩尔定律决定智能芯片18个月速度就能更新一代,芯片已堆积到可以测体温了?传苹果手机将采用红外人脸识别近日,有消息显示苹果正在研发新一代FaceID,其将可以在用户佩戴口罩的情况下,精确识别用户信息,然后解锁。尽管由于时间问题,iPhone13可能无缘支持,但是该技术依然受到了不少华为公布EMUI12全球版,将解锁全面升级,号称鸿蒙和安卓合二为一近日,华为发布了EMUI12操作系统,它带来了多项新功能UI设计和全新的用户体验,比EMUI11更好的性能。鸿蒙OS推出后,华为之前的EMUI似乎处于暂停状态,不过,华为全球官网公大,无止净,西门子128kg净痕国美发布会靓出神仙级洗衣机大无止境,谁不动心?2021年8月28日晚7点,在成都国美天府立交店,一场西门子新品发布会吸引了众多市民的目光,这是西门子128kg洗干一体机WS74D3A10W的发布仪式,它标志摩托罗拉新机曝光,国产芯片后置双摄加持近日,摩托罗拉正式发布了新机摩托罗拉G505G手机,然而消息显示摩托罗近期可能还有一款新机发布,这款手机目前已经出现在了国外跑分平台Geekbench上面。其便是摩托罗拉E20,消9月新机扎堆亮相,五款旗舰机型即将发布,国产手机火力全开上半年手机圈的大战已经告一段落,不知道什么时候开始,上半年发旗舰机型。而下半年更是超级旗舰机。就比如在9月即将发布的iPhone13系列,以及众多的骁龙888plus机型都在下半年iPhone13将支持LEO连接可在无信号覆盖的情况下实现通话和消息传递据可靠的分析师郭明錤称,iPhone13将具有低地球轨道(LEO)卫星通信连接功能,允许用户在没有4G或5G覆盖的地区打电话和发信息。在一份给投资者的说明中,郭明錤解释说,iPho安卓强软MyRadio全球收音机MyRadio是一款收听广播的应用,让您收听来自世界各地的50000多个网络广播。MyRadio可帮助您收听各种网络广播电台。使用MyRadio可以收听所有免费的FM广播电台和线上
全球首个可繁殖活体机器人问世AI参与设计,已自我繁殖4代文丨学术头条,作者丨吴婷婷,编审丨寇建超你或许听过制造机器人组装机器人3D打印机器人,但你听过繁殖机器人吗?为了永续生存,生命必须繁衍。数十亿年来,地球上的生物体已经进化出了多种繁蓝思科技与凯盛科技集团达成战略合作加快推进光伏玻璃项目落地金融界12月7日消息蓝思科技(300433。SZ)发布公告称,公司于近日与中国建材集团有限公司的全资子公司凯盛科技集团有限公司在深圳市签订战略合作协议,为双方奠定战略合作伙伴关系。华为称Mate50已准备好将于2022年全球发布今年7月底,华为发布了P50系列手机,这比以往的节奏晚了几乎半年的时间。P50的延期也意味着Mate50系列要推迟,但官方始终没有给出明确答案。日前在罗马尼亚与媒体交流时,华为消费实体店怎么转型做新零售?2016年10月的阿里云栖大会上,阿里巴巴马云在演讲中第一次提出了新零售,未来的十年二十年,没有电子商务这一说,只有新零售。新零售,即企业以互联网为依托,通过运用大数据人工智能等先想买电视!买电视!电视!求推荐具体型号?很多爸爸妈妈严格控制孩子看电视就是怕电视的蓝光伤到孩子眼睛不偷摸看电视的孩子的童年都是残缺的为了家庭和谐以及孩子的视力果小妞给大家推荐这款酷开U3B防蓝光护眼电视3299精致外观配人工智能在未来得趋势会是怎样?人类真的可以完全脱离工作状态吗?据最新行业分析机构报告表明,在今后的发展趋势下,人工智能的普及化也越来越高,尽管之前有相关人士预言AI的寒冬到来,但是从层出不穷的开源框架可以看出,各大公司对于人工智能的进一步普及测评深圳华为村,还有年薪30万的华为人么?测评深圳片区篇32。马蹄山马蹄山堪称中国学历水平最高的村落这里居住着成千上万的华为员工,他们大多拥有本科以上的学历,其中不乏985,211毕业的硕士,博士生,甚至是海归。两年前,我中国科学院院士曹镛以自主创新推动我国显示产业高质量发展来源人民网原创稿中国科学院院士曹镛。人民网记者翁奇羽摄人民网合肥12月7日电(记者车柯蒙)当前,新一轮科技革命和产业变革正加速推进,我国显示产业也迎来了新的发展机遇和挑战。12月7建科院光储直柔绿色建筑碳中和关注原因短线,各地方绿色建筑落地措施有望陆续出台,华为正在建设华为数字能源安托山基地,公司有为华为公司提供一次性的建筑领域技术咨询服务。1事件驱动12月2日,华为在TrustInT英媒印度裔高管,在硅谷高歌猛进英国星期日泰晤士报网站12月4日发表题为印度裔企业高管们正在硅谷高歌猛进的文章,作者为丹尼福特森。全文摘编如下当推特网站老板杰克多尔西在这家市值340亿美元的社交媒体公司任职15年微软160亿美收购Nuance交易遭欧盟反垄断调查鞭牛士12月7日消息,据报道,欧盟反垄断监管机构正在对微软160亿美元收购语音识别技术公司NuanceCommunications交易进行更深入的调查,要求客户和竞争对手列出一份担