flask定时框架flask_apscheduler的使用

触发设置

当你开始定时任务时,需要为定时策略选择一个触发器(设置 class Config 中 trigger 的值)。flask_apscheduler 提供了三种类型的触发器。

"""
date  一次性指定固定时间,只执行一次
interval   间隔调度,隔多长时间执行一次
cron  指定相对时间执行,比如:每月1号、每星期一执行
"""
# date  最基本的一种调度,指定固定时间,只执行一次
# run_date(str)– 精确时间
class Config(object):
    JOBS = [
        {
            'id': 'job1',                
            'func': '__main__:job1',          
            'args': (1, 2),              
            'trigger': 'date',                        # 指定任务触发器 date 
            'run_date': '2020-7-23 16:50:00'          # 指定时间 2020-7-23 16:50:00 执行
        }
    ]

    SCHEDULER_API_ENABLED = True
"""
interval  通过设置 时间间隔 来运行定时任务

weeks (int) – 间隔几周
days (int) – 间隔几天
hours (int) – 间隔几小时
minutes (int) – 间隔几分钟
seconds (int) – 间隔多少秒
start_date (datetime|str) – 开始日期
end_date (datetime|str) – 结束日期
"""
class Config(object):
    JOBS = [
        {
            'id': 'job1',                
            'func': '__main__:job1',          
            'args': (1, 2),              
            'trigger': 'interval',                        # 指定任务触发器 interval
            'hours': 5                                     # 每间隔5h执行
        }
    ]

    SCHEDULER_API_ENABLED = True
"""
cron 通过设置 相对时间 来运行定时任务

year (int|str) – 年,4位数字
month (int|str) – 月 (范围1-12)
day (int|str) – 日 (范围1-31)
week (int|str) – 周 (范围1-53)
day_of_week (int|str) – 周内第几天或者星期几 (范围0-6 或者 mon,tue,wed,thu,fri,sat,sun)
hour (int|str) – 时 (范围0-23)
minute (int|str) – 分 (范围0-59)
second (int|str) – 秒 (范围0-59)
start_date (datetime|str) – 最早开始日期(包含)
end_date (datetime|str) – 最晚结束时间(包含)
"""
class Config(object):
    JOBS = [
        {
            'id': 'job1',                
            'func': '__main__:job1',          
            'args': (1, 2),              
            'trigger': 'cron',                            # 指定任务触发器 cron
            'day_of_week': 'mon-fri',              # 每周1至周5早上6点执行 
            'hour': 6,
            'minute': 00                                    
        }
    ]

    SCHEDULER_API_ENABLED = True
上一篇:flask的cookie、session


下一篇:基于Flask框架开发的球员数据库系统