zl程序教程

您现在的位置是:首页 >  后端

当前栏目

python的定时任务模块–schedule详解编程语言

Python模块编程语言 详解 &# 任务 8211 定时
2023-06-13 09:11:53 时间

首先先安装一下模块

python的定时任务模块--schedule详解编程语言

下面我们简单的学习一下schedule模块

先简单的看个示例

 import schedule 

 def test(*args,**kwargs): 

 print("hello world 1",datetime.datetime.now()) 


结果如下,我们可以看到,每隔一分钟执行了一次test这函数

 python的定时任务模块--schedule详解编程语言

 然后我们在看下一个例子

 import schedule 

 import time 

 def test1(*args,**kwargs): 

 print("这是test1的函数") 

 time.sleep(5) 

 print("这是test1的函数",datetime.datetime.now()) 

 def test2(*args,**kwargs): 

 print("这是test2的函数") 

 time.sleep(5) 

 print("这是test2的函数",datetime.datetime.now()) 


 从结果我们可以很清晰的看到,执行test1和test2两个函数,不是每隔10s执行一次,而是每隔15s执行一次,所以我们可以理解,schedule模块如果去同时执行多个函数的话,这些不同的函数不是开启多线程并行执行的,而是串行执行的,为了解决这个问题,我们可以用到python的多线程模块来解决这个问题

下面我们就通过多线程模块来解决这个问题

 import schedule 

 import threading 

 import time 

 def test1(*args,**kwargs): 

 print("这是test1的函数") 

 time.sleep(5) 

 print("这是test1的函数",datetime.datetime.now()) 

 def test2(*args,**kwargs): 

 print("这是test2的函数") 

 time.sleep(5) 

 print("这是test2的函数",datetime.datetime.now()) 

 def sch_test1(): 

 threading.Thread(target=test1).start() 


从上面的结果我们可以看到,2个函数之间没有干扰了,每隔10s后分别执行了2个函数

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/20768.html

cpython