python-Timer实现定时任务

概述

threading.Timer类可实现定时任务

感性认识

2秒后执行

import threading,datetime

def task():
    print(datetime.datetime.now())

t=threading.Timer(2,task)
t.start()

api说明

导入模块

import threading

函数定义

threading.Timer(interval, function, args=None, kwargs=None)
参数
  • interval:间隔秒数
  • function:执行的函数
  • args:给函数传递的参数
  • kwargs:给函数传递的关键字参数
返回

返回Timer对象

例子

2秒后执行任务

import threading,datetime

def task():
    print(datetime.datetime.now())


timer = threading.Timer(2,task)
timer.start()

每间隔1秒执行一次

import threading,datetime

def task():
    print(datetime.datetime.now())
    timer = threading.Timer(1,task)
    timer.start()

task()

2秒钟后执行,并且之后间隔1秒执行一次

import threading,datetime

def task():
    print(datetime.datetime.now())
    timer = threading.Timer(1,task)
    timer.start()

timer = threading.Timer(2,task)
timer.start()

取消定时

import threading,datetime

def task():
    print(datetime.datetime.now())


timer = threading.Timer(2,task)
timer.start()
timer.cancel() # 取消定时