使用APScheduler3.0.1 实现定时任务的方法

 更新时间:2019年07月22日 08:54:30   作者:小橘子Pythoner  
今天小编就为大家分享一篇使用APScheduler3.0.1 实现定时任务的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

需求是在某一指定的时刻执行操作

网上的建议多为通过调用Scheduler的add_date_job实现

不过APScheduler 3.0.1与之前差异较大, 无法通过上述方法实现

参考 https://apscheduler.readthedocs.org/en/latest/userguide.html APScheduler 3.0.1的userguide 解决问题

from datetime import datetime
import time
import os
 
from apscheduler.schedulers.background import BackgroundScheduler
 
 
def tick():
 print('Tick! The time is: %s' % datetime.now())
 
 
if __name__ == '__main__':
 scheduler = BackgroundScheduler()
 scheduler.add_job(tick, 'interval', seconds=3)
 scheduler.start()
 print('Press Ctrl+{0} to exit'.format('Break' if os.name == 'nt' else 'C'))
 
 try:
  # This is here to simulate application activity (which keeps the main thread alive).
  while True:
   time.sleep(2)
 except (KeyboardInterrupt, SystemExit):
  scheduler.shutdown() # Not strictly necessary if daemonic mode is enabled but should be done if possible

实例的代码实现每3秒执行一次tick方法,虽然与需求不符,但发现add_interval_job在APScheduler 3.0.1中 已经被

scheduler.add_job(tick, 'interval', seconds=3)

取代。

help(scheduler.add_job)得到

add_job(func, trigger=None, args=None, kwargs=None, id=None, name=None, misfire_grace_time=undefined, coalesce=undefined, max_instances=undefined, next_run_time=undefined, jobstore='default', executor='default', replace_existing=False, **trigger_args)
Adds the given job to the job list and wakes up the scheduler if it's already running.
 
Any option that defaults to undefined will be replaced with the corresponding default value when the job is scheduled (which happens when the scheduler is started, or immediately if the scheduler is already running).
 
The func argument can be given either as a callable object or a textual reference in the package.module:some.object format, where the first half (separated by :) is an importable module and the second half is a reference to the callable object, relative to the module.
 
The trigger argument can either be:
the alias name of the trigger (e.g. date, interval or cron), in which case any extra keyword arguments to this method are passed on to the trigger's constructor
an instance of a trigger class

由此可知,第参数为trigger,可取值为 date、interval、cron, **trigger_args为该trigger的构造函数。

通过源码找到DateTrigger 的构造函数

def __init__(self, run_date=None, timezone=None)

所以,只需将指定的时间传入add_job

scheduler.add_job(tick, 'date', run_date='2014-11-11 14:48:00')

以上这篇使用APScheduler3.0.1 实现定时任务的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python+opencv实现目标跟踪过程

    python+opencv实现目标跟踪过程

    这篇文章主要介绍了python+opencv实现目标跟踪过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Python入门教程(三十九)Python的NumPy安装与入门

    Python入门教程(三十九)Python的NumPy安装与入门

    这篇文章主要介绍了Python入门教程(三十九)Python的NumPy安装与入门,NumPy 是一个Python包,它是一个由多维数组对象和用于处理数组的例程集合组成的库,,需要的朋友可以参考下
    2023-05-05
  • 总结python 三种常见的内存泄漏场景

    总结python 三种常见的内存泄漏场景

    这篇文章主要介绍了总结python 三种常见的内存泄漏场景,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-11-11
  • Python pyecharts实现绘制中国地图的实例详解

    Python pyecharts实现绘制中国地图的实例详解

    pyecharts是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒。本文将通过pyecharts绘制中国地图,需要的可以学习一下
    2022-01-01
  • Python爬虫小例子——爬取51job发布的工作职位

    Python爬虫小例子——爬取51job发布的工作职位

    这篇文章主要介绍了Python爬取51job发布的工作职位,文中讲解非常细致,帮助大家更好的理解和学习Python,感兴趣的朋友可以了解下
    2020-07-07
  • 浅谈pandas筛选出表中满足另一个表所有条件的数据方法

    浅谈pandas筛选出表中满足另一个表所有条件的数据方法

    今天小编就为大家分享一篇浅谈pandas筛选出表中满足另一个表所有条件的数据方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • 基于python实现对文件进行切分行

    基于python实现对文件进行切分行

    这篇文章主要介绍了基于python实现对文件进行切分行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • python获取指定时间差的时间实例详解

    python获取指定时间差的时间实例详解

    这篇文章主要介绍了python获取指定时间差的时间实例详解的相关资料,需要的朋友可以参考下
    2017-04-04
  • python PIL Image 图像处理基本操作实例

    python PIL Image 图像处理基本操作实例

    这篇文章主要介绍了python PIL Image 图像处理基本操作实例包括图片加载、灰度图,图像通道分离和合并,在图像上输出文字,图像缩放,图像阈值分割、 二值化,图像裁剪需要的朋友可以参考下
    2022-04-04
  • Python爬虫抓取论坛关键字过程解析

    Python爬虫抓取论坛关键字过程解析

    这篇文章主要介绍了Python爬虫抓取论坛关键字过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10

最新评论