zoukankan      html  css  js  c++  java
  • 定时循环调取函数--APScheduler

    APScheduler

    因为想要循环调取某一函数,并且可以更加精细化的控制,任务查询需要跨平台运行,最好使用这种定时任务框架。

    apscheduler 提供了基于日期,固定时间间隔以及 crontab 类型的任务,我们可以在主程序的运行过程中快速增加新作业或删除旧作业。

    安装

    pip install apscheduler

    1、首先试一下简单调用:

    其中源码解释说第二个参数 trigger = '      '  ,有三个可选:

      date表示具体的一次性任务,interval表示循环任务,cron表示定时任务

    def aps_test(x):
        print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), x )
    
    scheduler = BlockingScheduler()
    scheduler.add_job(func=aps_test, args=('定时任务',),trigger='cron', second='*/5')
    scheduler.add_job(func=aps_test, args=('一次性任务',), next_run_time=datetime.datetime.now() + datetime.timedelta(seconds=7))
    scheduler.add_job(func=aps_test, args=('循环任务',), trigger='interval', seconds=3)
    
    scheduler.start()

    2、调用的任务出错了,那么此定时还会存在么??

    记得用logging查看一下日志

    import logging
    
    # 如果程序出错那么用log查看器日志
    logging.basicConfig(level=logging.INFO,
                        format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
                        datefmt='%Y-%m-%d %H:%M:%S',
                        filename='log1.txt',
                        filemode='a')
    
    scheduler._logger = logging

    3、既然我们可以通过调用函数做到及时或定时触发,我们可以通过  send 消息完成发送程序错误,或者程序完成

  • 相关阅读:
    抓包工具fiddler使用-初级
    nginx负载均衡配置详解
    nginx常用配置
    nginx介绍及常用功能
    算法分析实验之The Josephus Problem(约瑟夫问题)
    算法分析实验之Locker doors
    算法分析实验之花生采摘
    算法分析实验之俄式乘法
    算法分析实验之翻煎饼
    java(一)Hello World
  • 原文地址:https://www.cnblogs.com/sdosun/p/13263018.html
Copyright © 2011-2022 走看看