使用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自定义解析简单xml格式文件的方法
May 11 Python
Python中的index()方法使用教程
May 18 Python
Python常用小技巧总结
Jun 01 Python
分享Python文本生成二维码实例
Jan 06 Python
Python的numpy库中将矩阵转换为列表等函数的方法
Apr 04 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
Jan 23 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
Jun 08 Python
python安装scipy的方法步骤
Jun 26 Python
Django模板导入母版继承和自定义返回Html片段过程解析
Sep 18 Python
python多线程实现代码(模拟银行服务操作流程)
Jan 13 Python
OpenCV 之按位运算举例解析
Jun 19 Python
python如何构建mock接口服务
Jan 28 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函数(ignore_user_abort)
2012/08/01 PHP
基于php缓存的详解
2013/05/15 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
2015/01/30 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
jquery 新浪网易的评论块制作
2010/07/01 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
2015/11/07 Javascript
javascript模块化简单解析
2016/04/07 Javascript
Bootstrap编写导航栏和登陆框
2016/05/30 Javascript
Javascript 实现计算器时间功能详解及实例(二)
2017/01/08 Javascript
JS验证全角与半角及相互转化的介绍
2017/05/18 Javascript
详谈js原型继承的一些问题
2017/09/06 Javascript
详解基于vue-router的动态权限控制实现方案
2017/09/28 Javascript
vue实现商城上货组件简易版
2017/11/27 Javascript
jQuery中的$是什么意思及 $. 和 $().的区别
2018/04/20 jQuery
Angular.JS读取数据库数据调用完整实例
2019/07/02 Javascript
JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例
2019/09/17 Javascript
js实现简单的打印表格
2020/01/15 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
使用python实现拉钩网上的FizzBuzzWhizz问题示例
2014/05/05 Python
Python中subprocess的简单使用示例
2015/07/28 Python
Python实现字典的遍历与排序功能示例
2017/12/23 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
对pandas里的loc并列条件索引的实例讲解
2018/11/15 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
python字典的setdefault的巧妙用法
2019/08/07 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
Python脚本调试工具安装过程
2021/01/11 Python
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
ANINE BING官方网站:奢华的衣橱基本款和时尚永恒的单品
2019/11/26 全球购物
请用用Java代码写一个堆栈
2012/01/26 面试题
有针对性的求职自荐信
2013/11/14 职场文书
森林病虫害防治方案
2014/06/02 职场文书
2014教师专业技术工作总结
2014/12/03 职场文书
JavaScript 原型与原型链详情
2021/11/02 Javascript