flask定时任务之最便捷的实现方式,flask_apscheduler使用(工厂模式)

步骤1:安装flask_apscheduler

pipenv install flask_apscheduler

步骤1:extensions.py文件中写入 ,引入APScheduler:

from flask_apscheduler import APScheduler
scheduler = APScheduler()

步骤3:执行初始化__init__.py:

from app.extensions import scheduler
def create_app(config_name=None):
config_name is None:
        config_name = os.getenv('FLASK_CONFIG','production')

   app  = Flask(__name__)
   app.config.from_object(config[config_name])
   ****
return app

def register_extensions(app):
    scheduler.init_app(app)
    scheduler.start()

步骤4: settings.py写入配置未见

class ProductionConfig(BaseConfig):
    SCHEDULER_API_ENABLED=True

config={
'production':ProductionConfig
}

步骤5:在需要执行定时任务的地方加入方法

from app.extensions import db,scheduler

@scheduler.task('interval',id='do_job_1',seconds=5)  #循环任务,每5秒循环一次
def job1():
    print('定时任务1')

步骤6:
启动flask
flask run

其他方法:
参考github官方方法

2 个赞