最近flask里面新加个schedule任务,但是启动的时候看log,schedule被注册了两次。导致每次任务都会被执行两次,查了下解决方案,记录
加一个标志位就行了
python
import os
from flask import Flask
from apscheduler.schedulers.background import BackgroundScheduler
app = Flask(__name__)
first_startup = os.environ.get('FIRST_STARTUP', False)
if not first_startup:
scheduler = BackgroundScheduler()
@scheduler.cron_job('*/30 * * * * *')
def auto_retrain_scheduled_task():
...
scheduler.start()
os.environ['FIRST_STARTUP'] = 'True'
...
if __name__ == '__main__':
app.run(debug=True)