flask使用flask_apscheduler实现定时任务

安装

默认情况下,以这种方法可以实现安装

pip install flask_apscheduler

如果出现超时,可以以下面这种方式安装

pip install flask_apscheduler -i http://mirrors.aliyun.com/pypi/simple/

使用

配置相关功能

class APSchedulerJobConfig(object):
    SCHEDULER_API_ENABLED = True
    JOBS = [
        {  # 固定时间触发任务
            'id': '1',  # 任务id,唯一
            'func': 'app.api.v1.scheduler:get_fund',  # ‘执行文件索引:该文件实现定时任务的方法’
            'args': (1, 2),  # 方法需要传进的参数
            'trigger': 'cron',  # 触发类型
            'hour': 21,  # 定时-小时
            'minute': 50  # 定时-分钟
        },
        {  # 每间隔5s执行一次
            'id': '2',
            'func': 'app.api.v1.scheduler:get_fund',
            'args': (3, 4),
            'trigger': 'interval',  # 触发类型,间隔时间触发
            'seconds': 5  # 定时-秒
        }
    ]

将配置初始化到flask对象中

# 导入flask_apscheduler
from flask_apscheduler import APScheduler
# 导入配置内容所在的文件
from app.config.tasks import APSchedulerJobConfig

# 实例化APScheduler
scheduler = APScheduler()
# 把任务列表放进flask
scheduler.init_app(app)
# 启动任务列表
scheduler.start()

定义定时任务触发函数

@api.route('', methods=['GET'])
def take_scheduler():
    return 'hello world'


# 用来做定时任务
def get_fund(a, b):
    print(str(a) + ' ' + str(b))

这样运行flask后就可以实现定时任务了

posted @ 2024-08-23 20:21  七夜魔手  阅读(11)  评论(0编辑  收藏  举报  来源