flask-apscheduler定时任务线程不会释放?

用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()
阅读 4.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏