zoukankan      html  css  js  c++  java
  • Python—定时任务(APScheduler实现)

    简介                

    APScheduler的全称是Advanced Python Scheduler。它是一个轻量级的基于Quartz的 Python 定时任务调度框架。APScheduler 支持三种调度任务:固定时间间隔,固定时间点(日期),Linux 下的 Crontab 命令。同时,它还支持异步执行、后台执行调度任务。

    github:https://github.com/agronholm/apscheduler

    官网文档:https://apscheduler.readthedocs.io/en/latest/

    组成                

    APScheduler整个系统可以说由这五个概念组成:调度器(scheduler),作业存储(job store),触发器(trigger),执行器(executor),任务(job)。

    使用                

    import time
    from apscheduler.schedulers.background import BackgroundScheduler
    
    def job_func(name):
    	print name
    
    if __name__ == '__main__':
        # 创建后台执行的 schedulers
        scheduler = BackgroundScheduler() 
    
        # 每隔3分钟执行一次 job_func 方法
        scheduler.add_job(job_func, 'interval', minutes=3, args=['jack!'])
        # 每隔3天17时19分07秒执行一次任务
        scheduler.add_job(job_func, 'interval', days=03, hours=17, minutes=19, seconds=07, args=['jack!'])
        # 在 2017-12-13 14:00:01 ~ 2017-12-13 14:00:10 之间, 每隔两分钟执行一次 job_func 方法
        scheduler.add_job(job_func, 'interval', minutes=2, start_date='2017-12-13 14:00:01' , end_date='2017-12-13 14:00:10')
              
        # 每天五点执行
        scheduler.add_job(job_func, 'cron', hour='5', minute='00', second='00', args=['jack!'])
        # 每周周五六点执行
        scheduler.add_job(job_func, 'cron', day_of_week='fri', hour=14, minute=22, args=['jack!'])
        # 在每年 1-3、7-9 月份中的每个星期一、二中的 00:00, 01:00, 02:00 和 03:00 执行 job_func 任务
        scheduler.add_job(job_func, 'cron', month='1-3,7-9',day='0, tue', hour='0-3')
        
        # 在 2017-12-13 时刻运行一次 job_func 方法
        scheduler.add_job(job_func, 'date', run_date=date(2017, 12, 13), args=['jack!'])
        # 在 2017-12-13 14:00:00 时刻运行一次 job_func 方法
        scheduler.add_job(job_func, 'date', run_date=datetime(2017, 12, 13, 14, 0, 0), args=['jack!'])
        # 在 2017-12-13 14:00:01 时刻运行一次 job_func 方法
        scheduler.add_job(job_func, 'date', run_date='2017-12-13 14:00:01', args=['jack!'])
    
        # 启动调度任务
        scheduler.start()      
        while True:
            time.sleep(5)
    

    参考:https://www.jianshu.com/p/ad2c42245906

    参考:https://www.cnblogs.com/shhnwangjian/p/7877985.html

    参考:https://www.cnblogs.com/yueerwanwan0204/p/5480870.html

    参考:https://blog.csdn.net/caiguoxiong0101/article/details/50364236

  • 相关阅读:
    iOS UILable 自定义高度 用masony适配
    iOS上架所需图片大小明细
    GCD倒计时
    iOS 小知识汇总
    七、Swift 枚举 Enumerations
    C语言深度剖析笔记
    六、闭包 Closures
    经济学常识
    Mac小技巧
    五、函数 Functions
  • 原文地址:https://www.cnblogs.com/liuhaidon/p/12034354.html
Copyright © 2011-2022 走看看