python每天定时9点执行_Python实现定时任务,定时采集数据,定时执行脚本程序都可以...

写后端的同学们可能都知道,工作中可能需要周期性执行一些任务,俗称定时任务。Linux环境下,可以借助于系统自带的crontab完成定时任务。但是很多时候,开发的同学们可能并没有权限去操作crontab,所以就催生了一些不太好的解决方案,比如基于Python/Java里面的Timer去弄一个周期性执行的工具。

很多人学习python,不知道从何学起。

很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。

很多已经做案例的人,却不知道如何去学习更加高深的知识。

那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!

大佬们,醒醒,主角出场了。今天给大家分享一个Python轻量级定时任务解决方案,schedule,可以满足常用的周期性任务需求。

安装

pipinstall schedule

使用

schedule提供了多种方法去描述执行周期,比如:

#1,按照某个时间间隔

every(10).seconds.do(task),表示每隔10秒执行task任务。当然可以把间隔换成其他单位,比如minutes,hours,days

#2,按照一个固定的时间点

every().day.at('9:30').do(task),表示每天9:30执行任务

#encoding=utf-8

fromdatetimeimportdatetime

importtime

importschedule

defjob1(*args):

withopen('tasks','a')asf:

f.write('[{}]{}\n'.format(datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f'),'msg'))

# 每隔5秒执行一次job1

schedule.every(5).seconds.do(job1)

# 每天9:30执行任务

schedule.every().day.at('09:30').do(job1)

if__name__ =='__main__':

whileTrue:

schedule.run_pending()

time.sleep(1)

效果

如何让任务只执行一次?

只需要在任务最后加上这句话就行,return schedule.CancelJob

#encoding=utf-8

fromdatetimeimportdatetime

importtime

importscheduledef job_run_once(*args):

print('Job run only once')

#

returnschedule.CancelJob

# 只执行一次任务

schedule.every(3).seconds.do(job_run_once)

if__name__ =='__main__':

whileTrue:

schedule.run_pending()

time.sleep(1)

就是这么简单,你学会了吗?

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值