pip install Flask-APScheduler
# 导入Flask类
import logging
from configs.Db import Db
from flask import Flask
from controller.index import user_bp
app = Flask(__name__)
#注册路由
app.register_blueprint(user_bp, url_prefix='/index')
# 装饰器的作用是将路由映射到视图函数index
@app.route('/')
def main_id():
return '同步程序'
# 处理启动
my = Db.base("wbrj_accset")
Db.updates(my, 'state', {'state': 1, 'count': '0'}, "id=2 or id=3")
my.commit()
my.close()
# 定时任务启动
from task.start import scheduler
scheduler.init_app(app)
scheduler.start()
# 修改调度器执行组件冗余日志级别
logging.getLogger('apscheduler.executors.default').setLevel(logging.WARNING)
# Flask应用程序实例的run方法启动WEB服务器
if __name__ == '__main__':
# True定时任务会执行两次,False不会
app.run(host="0.0.0.0", port=5000, debug=True, use_reloader=False)
# app.run(host="0.0.0.0", port=5000, debug=False)
from flask_apscheduler import APScheduler
from task.orderTask.mystart import mystart
from task.orderTask.msstart import msstart
scheduler = APScheduler()
# interval, 每5秒执行一次,监听mysql数据变化,max_instances最大同时执行数
@scheduler.task('interval', id='task1', seconds=2, misfire_grace_time=900, max_instances=10)
def job1():
mystart.start("mysql同步启动")
# interval, 每5秒执行一次,监听sqlserver,max_instances最大同时执行数
@scheduler.task('interval', id='task2', seconds=2, misfire_grace_time=900, max_instances=10)
def job1():
msstart.start("sqlserver同步启动")