在项目中需要用到 apscheduler, 查了一些资料, 大概知道其运行原理之后模拟实际运用场景来测试代码.
运用场景:
在项目中需要随机的插入job, 相当与做一个回调一样. 然后运行job, 每个job做的事情基本上都是一样的, 根据参数的不同来执行不同的操作, 所以没一个job实际上都是会使用相同的一个函数(回调函数)
TASK.py
下面这个文件中定义了job需要怎么运行, 以及可以根据Jobs class 来返回调用函数的函数名, 有多个不同的, 此处只有一个,所以直接用了一个staticmethod
from flask_apscheduler import APScheduler
import time
scheduler = APScheduler()
def testASP(param):
print(param)
class Jobs():
def __init__(self):
pass
@staticmethod
def get_func():
return __name__ + ':' + 'testASP'
route.py
在这个文件中, 本来是想引入app,然后定义一个@app.route("/aps"), 但是由于引入的问题, app不能在此定义一个新的路由. 所以只用了一个方法来代替
from APSTASK import Jobs, scheduler
from datetime import datetime, timedelta
def routing():
print("routing")
job = Jobs.get_func()
j = scheduler.add_job(