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

附帶crontab時間設置

以下是 crontab 文件的格式:

{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
o minute: 區間為 0 – 59
o hour: 區間為0 – 23
o day-of-month: 區間為0 – 31
o month: 區間為1 – 12. 1 是1月. 12是12月.
o Day-of-week: 區間為0 – 7. 周日可以是0或7.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM