使用 flask_apscheduler 执行定时任务
from flask import Flask, render_template, request
from flask_apscheduler import APScheduler
from config import config
from tasks import WechatSpider
app = Flask(__name__)
app.config.from_object(config)
scheduler = APScheduler()
scheduler.init_app(app)
@app.route('/')
def index():
return 'hello!'
@scheduler.task('cron', id='do_job', minute='*/30')
def job():
task = WechatSpider()
task.Start()
if __name__ == "__main__":
scheduler.start()
app.run()
上面是通过装饰器添加的任务,也可以通过配置文件添加
class APSchedulerJobConfig(object):
SCHEDULER_API_ENABLED = True
JOBS = [
{
'id': 'No1', # 任务唯一ID
'func': 'tasks:WechatSpider', # 执行任务的function名称,tasks 就是`tasks.py` 文件,`WechatSpider` 是方法名称。文件模块和方法之间用冒号":",而不是用英文的"."
'args': '', #如果function需要参数,就在这里添加
'trigger': {
'type': 'cron', # 类型
# 'day_of_week': "0-6", # 可定义具体哪几天要执行
# 'hour': '*', # 小时数
'minute': '*/30',
#'second': '3' # "*/3" 表示每3秒执行一次,单独一个"3" 表示每分钟的3秒。现在就是每一分钟的第3秒时循环执行。
}
}
]

浙公网安备 33010602011771号