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


Posted in Python onJuly 22, 2019

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

网上的建议多为通过调用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 相关文章推荐
在Python编程过程中用单元测试法调试代码的介绍
Apr 02 Python
Python浅拷贝与深拷贝用法实例
May 09 Python
Python函数中*args和**kwargs来传递变长参数的用法
Jan 26 Python
利用Python爬取微博数据生成词云图片实例代码
Aug 31 Python
python中map的基本用法示例
Sep 10 Python
用python3教你任意Html主内容提取功能
Nov 05 Python
Python装饰器简单用法实例小结
Dec 03 Python
python图像和办公文档处理总结
May 28 Python
Python算法中的时间复杂度问题
Nov 19 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
Nov 20 Python
详解tensorflow2.x版本无法调用gpu的一种解决方法
May 25 Python
python中用ggplot绘制画图实例讲解
Jan 26 Python
Python定时任务APScheduler的实例实例详解
Jul 22 #Python
基于多进程中APScheduler重复运行的解决方法
Jul 22 #Python
django云端留言板实例详解
Jul 22 #Python
python实现图片中文字分割效果
Jul 22 #Python
django用户登录验证的完整示例代码
Jul 21 #Python
Python Threading 线程/互斥锁/死锁/GIL锁
Jul 21 #Python
详解Django模版中加载静态文件配置方法
Jul 21 #Python
You might like
php 中include()与require()的对比
2006/10/09 PHP
php学习 函数 课件
2008/06/15 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
php简单判断两个字符串是否相等的方法
2015/07/13 PHP
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
php中Ioc(控制反转)和Di(依赖注入)
2017/05/07 PHP
laravel ORM 只开启created_at的几种方法总结
2018/01/29 PHP
让innerHTML的脚本也可以运行起来
2006/07/01 Javascript
Jquery 插件学习实例1 插件制作说明与tableUI优化
2010/04/02 Javascript
让input框实现类似百度的搜索提示(基于jquery事件监听)
2014/01/31 Javascript
多种方法实现load加载完成后把图片一次性显示出来
2014/02/19 Javascript
jquery实现弹出层完美居中效果
2014/03/03 Javascript
node.js中的fs.fchown方法使用说明
2014/12/16 Javascript
详细分析JavaScript函数定义
2015/07/16 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
浅谈jquery上下滑动的注意事项
2016/10/13 Javascript
jQuery插件ajaxFileUpload异步上传文件
2016/10/19 Javascript
js实现做通讯录的索引滑动显示效果和滑动显示锚点效果
2017/02/18 Javascript
js字符串与Unicode编码互相转换
2017/05/17 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
2018/03/02 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
2018/03/15 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
python机器学习之决策树分类详解
2017/12/20 Python
浅谈python图片处理Image和skimage的区别
2019/08/04 Python
html5简单示例_动力节点Java学院整理
2017/07/07 HTML / CSS
JD Sports德国官网:英国领先的运动鞋和运动服饰零售商
2018/02/26 全球购物
Shopee新加坡:东南亚与台湾电商平台
2019/01/25 全球购物
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
英文求职信结束语大全
2013/10/26 职场文书
初中地理教学反思
2014/01/11 职场文书
《这儿真好》教学反思
2014/02/22 职场文书
食品委托检验协议书范本
2014/09/12 职场文书
查摆剖析材料范文
2014/09/30 职场文书
新闻发布会新闻稿
2015/07/17 职场文书
golang import自定义包方式
2021/04/29 Golang
Python万能模板案例之matplotlib绘制甘特图
2022/04/13 Python