用flask-apscheduler写了个动态添加定时任务的app
测试发现每执行一次定时任务就会生成一个新线程,而且过了一天都不会自动释放
由于这个程序是计划长期运行,这样线程不会释放总感觉不太好
请问是我代码的问题还是有什么办法可以手动释放线程?
试过在joddone函数里面shutdown调度器但是会报错
简化后的代码如下:
app = Flask(__name__)
通知计划任务结果
def jobdone(event):
job_result = event.retval
print("job done:"+job_result)
def test(num):
print("测试"+num)
return num
@app.route('/jobtest',methods=['get'])
def jobtest():
num = request.args.get('num')
start_time=(datetime.datetime.now()+datetime.timedelta(minutes=1))
scheduler.add_job(num,test,args=[num],trigger='date',run_date=start_time)
return "定时任务:"+num
if name == '__main__':
scheduler = APScheduler()
scheduler.api_enabled = True
scheduler.init_app(app)
scheduler.add_listener(jobdone,4096)
scheduler.start()
app.run()