定时后台运行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程序

    大型程序中经常会需要定时运行某些任务,比如生成报表,发邮件等。复杂的方法会用到消息队列,用API调用一个接口定时运...

  • app后台运行

    iOS程序进入后台后仍运行定时器NSTimer

  • Linux 后台运行 python 程序

    转自原博客 使用说明 当 Python 程序需要一直运行时,可以让程序在后台运行并将运行信息输出到日志文件中。 启...

  • centos python程序后台运行

    在服务器上,为了退出终端,程序依然能够运行,需要设置程序在后台运行。 关键的命令:nohup 基本用法:进入要运行...

  • python 后台运行程序

    #### 启动命令 nohup python -u 运行的文件.py > 输出日志名.out 2>&1 & 0 –...

  • Linux后台运行Python程序

    第一种nohup命令来让程序在后台运行 括号内容表示可以将平时输出到控制台中的内容重定向到*.log这个文件中,这...

  • Centos后台运行python程序

    在服务器上,为了退出终端,程序依然能够运行,需要设置程序在后台运行。 关键的命令:nohup *基本用法: 进入要...

  • iOS定时器后台运行

    //定时器后台运行代码↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓...

  • iOS 短信验证码倒计时按钮

    级别: ★★☆☆☆标签:「iOS 验证码后台倒计时」「NSTimer后台运行」「iOS 定时器后台运行」作者: ...

  • Linux 用到的指令!!!

    查看用过的指令 history 定时执行脚本 程序后台运行 我写了一个while True 然后终端一关程序就停...

网友评论

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

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