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 消息完成发送程序错误,或者程序完成

  • 相关阅读:
    Android 逐帧动画isRunning 一直返回true的问题
    android动画学习
    android信号强度
    在代码中创建Drawable资源
    通过ComponentName获取相应的Widget
    EditText和输入法相关的问题
    Android 沉浸式状态栏
    安防设置功能出现的错误
    自定义seekbar
    android 新控件 AppBarLayout 使用
  • 原文地址:https://www.cnblogs.com/sdosun/p/13263018.html
Copyright © 2011-2022 走看看