python flask 定时任务

Flask 中通过 flask-apscheduler 这个模块进行调度任务.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
app = Flask(__name__)
app.json_encoder = CustomJSONEncoder
app.config.from_object(__name__)
db = SQLAlchemy(app)
....
....
class JobConfig(object):
from lei.service.server import Server ##引入调用的模块
JOBS = [
{
'id': 'cron_sync_server',
'func': Server().cron_sync_server, ##调用同步方法cron_sync_server
'args': (CONF.cron_pools,), ##从配置读取参数
'trigger': 'interval',
'seconds': int(CONF.cron_seconds) ##从配置读取间隔参数
}
]
SCHEDULER_API_ENABLED = True
app.config.from_object(JobConfig())
scheduler = APScheduler()
scheduler.init_app(app)
scheduler.start()

注意: 由于定时任务不向像页面请求,所以如果循环数据插入的话需要立即提交,不能最后通过flush提交