关于python3定时器任务代码的信息

发布时间:2022-11-09

本文目录一览:

1、python 怎么定时每天在凌晨2点 输出hello word 也就是到时间执行print he 2、如何用Python写一个每分每时每天的定时程序 3、python动态添加删除定时任务 4、python如何实现程序定时执行的功能? 5、如何用Python写一个每天的定时程序

python 怎么定时每天在凌晨2点 输出hello word 也就是到时间执行print he

定时执行一般需要符合以下条件:

  • 使用cron之类的计划任务程序来调用
  • 程序在后台循环执行 后台循环一般代码:
import time
while True:
    current_time = time.localtime(time.time())
    if (current_time.tm_hour == 2) and (current_time.tm_min == 0) and (current_time.tm_sec == 0):
        print "Hello World"
    time.sleep(1)

如何用Python写一个每分每时每天的定时程序

如何定时执行: a. 我们先获取当前的时间 now = datetime.datetime.now(),假设当前时间是 2017-02-09 20:19:47.555000。 b. 然后我们输入一个你要定时执行的 target 时间,比如你是 x 分 10 秒的时候执行 sched_Timer = datetime.datetime(x, x, x, x, x, 10),前面的 x 并不重要(只要最后是 10 秒就行了),我们就把目标时间设的比当前晚一点即可:

sched_Timer = datetime.datetime(2017, 2, 9, 20, 20, 10)

c. 好,当时间到了 20:20:10 的时候要运行我们的程序。如何定时到了呢?很简单用:

if now == sched_Timer:
    'run Task'

d. 那么如何让时间在下一分钟 10 秒继续执行呢?也很简单用 timedelta()

datetime.timedelta(minutes=1)

把 target 时间往后增加一分钟:

sched_Timer = sched_Timer + datetime.timedelta(minutes=1)

然后外边用个 while 死循环 hold 住就可以了。

python动态添加删除定时任务

可以基于 tornado-APScheduler 实现添加动态添加/删除/暂停/清除定时任务。 安装:pip3 install apscheduler

  1. 任何调度器在开始后,不能再次 start。不然会出现异常。
  2. shutdown 方法:终结掉对应的调度器,所以代码逻辑里需要检测一下。running 方法可以判断调度器的运行状态。如果需要设计 delete 方法清除某个任务,建议用 remove 方法,对应代码逻辑需要注意 start() 不要重复。
  3. 注意 BlockingScheduler,如果你想动态添加任务的话,这个调度器是阻塞的,所以每个任务必须是一个守护线程。个人感觉不太方便,建议用其他非阻塞的。
  4. get_jobs() 方法很有用,如果我们加上 dir,配合这个方法可以很灵活地配置。
  5. 修改一个周期任务,需要用 modify_job 方法,根据你的 job_id 修改。 Python 由荷兰数学和计算机科学研究学会的 Guido van Rossum 于 1990 年代初设计,作为一门叫做 ABC 语言的替代品。Python 提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。

python如何实现程序定时执行的功能?

sleep 就可以吧,把程序作为一个线程,启动线程,里面加个 sleep,示例如下:

import threading
import time
class Test(threading.Thread):
    def __init__(self):
        pass
    def test(self):
        print 'run test!'
    def run(self):
        while True:
            print time.strftime('%Y-%m-%d %H:%M:%S')
            self.test()
            time.sleep(5)
# test...
a = Test()
a.run()
# ...test

如何用Python写一个每天的定时程序

a. 我们先获取当前的时间:

now = datetime.datetime.now()

假设当前时间是 2017-02-09 20:19:47.555000。 b. 然后我们输入一个你要定时执行的 target 时间:

sched_Timer = datetime.datetime(x, x, x, x, x, 10)

前面的 x 是并不重要(只要最后是 10 秒就行了),我们就把目标时间设的比当前晚一点即可:

sched_Timer = datetime.datetime(2017, 2, 9, 20, 20, 10)

c. 好,当时间到了 20:20:10 的时候要运行我们的程序。 如何定时到了呢?很简单用:

if now == sched_Timer:
    'run Task'

d. 那么如何让时间在下一分钟 10 秒继续执行呢?也很简单用 timedelta()

datetime.timedelta(minutes=1)

把 target 时间往后增加一分钟:

sched_Timer = sched_Timer + datetime.timedelta(minutes=1)

然后外边用个 while 死循环 hold 住就可以了。