这篇文章主要讲解了“Python定时器怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python定时器怎么使用”吧!
这里我们开发一个print_datetime函数来打印当前的时间,同时也将print_time函数作为我们需要一直保持执行的任务。
# Importing the datetime module. import datetime def print_time(message=None): """ It prints the current time, optionally preceded by a message. :param message: The message to print """ print(message, datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
然后,我们准备需要使用的定时任务模块apscheduler,可以选择pip的方式进行安装,我个人一直使用的是这样方式。
pip install apscheduler # Importing the BlockingScheduler class from the apscheduler.schedulers.blocking module. from apscheduler.schedulers.blocking import BlockingScheduler
至此,我们便可以将需要保持一直处于执行状态的业务函数,也就是这里的print_datetime函数作为定时中的任务执行。
如此,我们就不用使用while True死循环+sleep的方式来使任务一直保存在运行形状了。
# Creating a scheduler object. scheduler = BlockingScheduler() # Adding a job to the scheduler. scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='cron', second='*/1') # 每秒执行 # Starting the scheduler in a separate thread. scheduler.start()
最后,直接启动当前的.py文件就能直接执行定时任务了,运行效果如下。
时间打印定时任务 2023-02-26 13:52:52
时间打印定时任务 2023-02-26 13:52:53
时间打印定时任务 2023-02-26 13:52:54
时间打印定时任务 2023-02-26 13:52:55
时间打印定时任务 2023-02-26 13:52:56
时间打印定时任务 2023-02-26 13:52:57
当然,作为定时任务的框架apscheduler,他还有很多的技能。比如:按更复杂的周期执行,在有限的时间内执行,单点执行等等。
下面是我列出的比较常见的apscheduler定时任务的执行方式,供小伙伴们参考,提出宝贵意见。
scheduler.add_job(func=print_time, args=('任务只执行一次,在下一次的时间执行',), next_run_time=datetime.datetime.now() + datetime.timedelta(seconds=60)) scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='interval', seconds=5) # 每5秒执行一次 scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='interval', minutes=2) # 每2分钟执行一次 scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='interval', hours=1) # 每1小时执行一次 scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='cron', minute='*', second='1') # 每分钟执行一次 scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='cron', hour='*', minute='0', second='0') # 每小时执行一次 scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='cron', hour='20', minute='0', second='0') # 每天20:00执行一次 scheduler.add_job(func=print_time, args=('时间打印定时任务',), trigger='cron', hour='21') # 每天21:00执行一次
感谢各位的阅读,以上就是“Python定时器怎么使用”的内容了,经过本文的学习后,相信大家对Python定时器怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。