使用 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秒时循环执行。
        }
      }
  ]
posted @ 2023-01-08 16:41  时光煮酒丶  阅读(32)  评论(0)    收藏  举报