python程序自动运行_定时后台运行Python程序

u=2146036928,954732548&fm=173&app=25&f=JPEG?w=640&h=640&s=81B3CF30454F51EB18E4F0C30300C0BB

大型程序中经常会需要定时运行某些任务,比如生成报表,发邮件等。复杂的方法会用到消息队列,用API调用一个接口定时运行你的任务。简单的用Cron或者Windows里的计划任务。而Python提供了一个更简单的方法。

Cron需要的是给出一行指定时间范围。Python只需要pip install schedule, 我们就可以像写伪代码一样交待它运行就可以了。下面是一个例子

u=821487620,282668039&fm=173&app=25&f=JPEG?w=640&h=554&s=A9D2834ADAA3E36C1E55A40F0000E0C2

在main方法里我们要定时运行home和news, 在import schedule, 每个方法调用下就可以了,注意方法名就可以,不要加括号

u=3330071068,2669305185&fm=173&app=25&f=JPEG?w=640&h=705&s=A1D2836ADAE7F36C0E55840F0000E0C2

但我们总不能等三分钟或者一小时看任务执行情况吧,这里就需要用日志记录下,方便我们调试。我们就用Python自带的logging就够用了

u=1137101694,2761300810&fm=173&app=25&f=JPEG?w=640&h=688&s=A1D2A36ADAE7F36C0ED5840F0000E0C2

用basicConfig方法做一些初始化的工作就好,比如log文件名和loglevel. 因为我们主要是记载方法的运行情况,所以用information(INFO) 级别就比较适合

schedule会自带记录到log里,包括了方法名和运行时间,所以我们也不用特意去写log方法

u=293407124,3880750892&fm=173&app=25&f=JPEG?w=638&h=118&s=A9C2A3446FE3B76446ED7D0B0000A0C1

这样我们就可以运行一次就好,因为是个死循环,除非我们ctrl+c去中断任务,它会一直运行到天荒地老。但是这还是个前台任务,我们可以用一些方法让它作为windows service或者Linux daemon在后台和开机直接运行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值