编排定时任务是后台应用中常用的一个功能。APScheduler框架是在Python中常用的一个管理、调度定时任务的框架。该框架功能强大,支持多种调度方式。本文演示在Flask Web应用中如何集成 APSchedule。
在本文中,使用 Flask-APScheduler 来集成 APScheduler。
示例简介
在本文中,使用一个简单的Flask示例,假设项目结构如下:
1 | + app |
Flask 应用由 app 模块来启动, 具体的定时任务的编写在 app 模块中的 jobs.py 文件中。
安装 Flask-APScheduler
执行
1 | pip install Flask-APScheduler |
定义要执行的定时任务
在示例中,我们简单的定义一个打印一行文本的方法
1 | def job1(): |
定义调度规则
在 app 模块的 init.py 文件中,我们初始化 Flask, 并启动 APScheduler。 通过使用 Config 对象,我们定义了一个调度规则,定义在周一到周五的6点50分执行 job1。
注意: JOBS 中 func 定义的写法,一定要和 from app.jobs import * 对应起来,否则很容易出现 module not found 的错误
1 | from flask import Flask |