• flask框架开启定时任务简单案例flask_apscheduler


    #所需模块flask_apscheduler

    #encodig=utf-8
    from flask import Flask, request
    from flask_apscheduler import APScheduler
     
     
    class Config(object):  # 创建配置,用类
        # 任务列表
        JOBS = [  
            # {  # 第一个任务
            #     'id': 'job1',
            #     'func': '__main__:job_1',
            #     'args': (1, 2),
            #     'trigger': 'cron', # cron表示定时任务
            #     'hour': 19,
            #     'minute': 27
            # },
            {  # 第二个任务,每隔5S执行一次
                'id': 'job2',
                'func': '__main__:method_test', # 方法名
                'args': (1,2), # 入参
                'trigger': 'interval', # interval表示循环任务
                'seconds': 5,
            }
        ]
     
    def method_test(a,b):
        print(a+b)
     
    app = Flask(__name__)
    app.config.from_object(Config())  # 为实例化的flask引入配置
     
     
    ## 
    @app.route("/hello",methods=["POST","GET"])
    def check():
        return "success",200
     
    if __name__ == '__main__':
        scheduler=APScheduler()
        scheduler.init_app(app)
        scheduler.start()
        app.run(debug=False)
     

    add_job的第二个参数是trigger,它管理着作业的调度方式。它可以为date, interval或者cron。对于不同的trigger,对应的参数也相同。

    cron定时调度

    year (int|str) – 4位数年份
    month (int|str) – 月(1-12)
    day (int|str) – 日(1-31)
    week (int|str) – ISO week (1-53)
    day_of_week (int|str) – 工作日的编号或名称(0-6或周一、周二、周三、周四、周五、周六、周日)
    hour (int|str) – hour (0-23)
    minute (int|str) – minute (0-59)
    second (int|str) – second (0-59)
    start_date (datetime|str) – 最早可能触发的日期/时间(包括)
    end_date (datetime|str) – 最晚可能触发的日期/时间(包括)
    timezone (datetime.tzinfo|str) – 用于日期/时间计算的时区(默认为计划程序时区)

    interval间隔调度

    它的参数如下:

    weeks (int) – number of weeks to wait
    days (int) – number of days to wait
    hours (int) – number of hours to wait
    minutes (int) – number of minutes to wait
    seconds (int) – number of seconds to wait
    start_date (datetime|str) – 间隔计算的起点
    end_date (datetime|str) – 最晚可能触发的日期/时间
    timezone (datetime.tzinfo|str) – 用于日期/时间计算的时区

    date定时调度

    最基本的一种调度,作业只会执行一次。它的参数如下:

    run_date (datetime|str) – the date/time to run the job at
    timezone (datetime.tzinfo|str) – time zone for run_date if it doesn’t have one already
  • 相关阅读:
    npm、webpack、vue-cli 快速上手版
    jquery 显示和隐藏的三种方式
    jquery好友面板切换
    jquery 事件冒泡
    jquery QQ微博
    C# Thread 参数
    WPF Dispatcher的使用
    UVa 1600 Patrol Robot (BFS最短路 && 略不一样的vis标记)
    HDU 2795 Billboard (线段树单点更新 && 求区间最值位置)
    HDU 1394 Minimum Inversion Number (树状数组 && 规律 && 逆序数)
  • 原文地址:https://www.cnblogs.com/cherylgi/p/15515218.html
Copyright © 2020-2023  润新知