定时后台运行Python程序

作者: DigiHacker | 来源:发表于2018-09-24 21:57 被阅读6次

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

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


    1.png

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


    2.png

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


    3.png

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

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


    4.png

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

    相关文章

      网友评论

        本文标题:定时后台运行Python程序

        本文链接:https://www.haomeiwen.com/subject/qrvhoftx.html