Python APScheduler执行使用方法详解


Posted in Python onDecember 10, 2020

APScheduler就是定时进行周期性的运行某些程序,在语言程序编写中,一直会遇到些定时服务,有时是根据时间定时,有时在固定的位置上进行定制,还有一些是因为储蓄出现的定时,不管是处于哪一种定时类型,基本上都可以使用APScheduler模块进行协助工作,本文给大家介绍定时模块的使用方法。

APScheduler与第三方模块安装方式一样,使用pip,安装过程如下:

Python APScheduler执行使用方法详解

常见的使用方式

1、APScheduler支持触发器:

DateTrigger
IntervalTrigger
CronTrigger

2、APScheduler支持的Executor

AsyncIOExecutor
GeventExecutor
ThreadPoolExecutor

APScheduler使用示例:

import asyncio
import datetime
scheduler.add_job(async_func, trigger, args=["jobstore second, executor = second"],
 id="cron_func_test_2",
 jobstore="second",
 executor="second")

大家带入执行代码看下输出结果,小编这篇内容只是举例常规内容,还有更多的比如在执行器任务完成是,使用调度器连接,进行添加,修改等等

知识点扩展:

在APScheduler中有四个组件

  1. 触发器(trigger)包含调度逻辑,每一个作业有它自己的触发器,用于决定接下来哪一个作业会运行。除了他们自己初始配置意外,触发器完全是无状态的。简单说就是应该说明一个任务应该在什么时候执行。
  2. 作业存储(job store)存储被调度的作业,默认的作业存储是简单地把作业保存在内存中,其他的作业存储是将作业保存在数据库中。一个作业的数据将在保存在持久化作业存储时被序列化,并在加载时被反序列化。调度器不能分享同一个作业存储。
  3. 执行器(executor)处理作业的运行,他们通常通过在作业中提交制定的可调用对象到一个线程或者进城池来进行。当作业完成时,执行器将会通知调度器。
  4. 调度器(scheduler)任务控制器:通过配置executor、jobstore、trigger,使用线程池(ThreadPoolExecutor默认值20)或进程池(ProcessPoolExecutor 默认值5)并且默认最多3个(max_instances)任务实例同时运行,实现对job的增删改查等调度控制

你需要选择合适的调度器,这取决于你的应用环境和你使用APScheduler的目的。通常最常用的两个:

BlockingScheduler:当调度器是你应用中唯一要运行的东西时使用。

BackgroundScheduler:当你不运行任何其他框架时使用,并希望调度器在你应用的后台执行。

Python 相关文章推荐
Python内置的字符串处理函数整理
Jan 29 Python
python判断端口是否打开的实现代码
Feb 10 Python
使用python实现baidu hi自动登录的代码
Feb 10 Python
Python检测网络延迟的代码
May 15 Python
对pandas写入读取h5文件的方法详解
Dec 28 Python
Python 实现数据结构中的的栈队列
May 16 Python
Django网络框架之创建虚拟开发环境操作示例
Jun 06 Python
在VS2017中用C#调用python脚本的实现
Jul 31 Python
Pycharm中切换pytorch的环境和配置的教程详解
Mar 13 Python
Python定义函数实现累计求和操作
May 03 Python
python Socket网络编程实现C/S模式和P2P
Jun 22 Python
几款好用的python工具库(小结)
Oct 20 Python
flask项目集成swagger的方法
Dec 09 #Python
python的dict判断key是否存在的方法
Dec 09 #Python
python RSA加密的示例
Dec 09 #Python
python中把元组转换为namedtuple方法
Dec 09 #Python
python不同版本的_new_不同点总结
Dec 09 #Python
python中_del_还原数据的方法
Dec 09 #Python
call在Python中改进数列的实例讲解
Dec 09 #Python
You might like
PHP新手上路(八)
2006/10/09 PHP
傻瓜化配置PHP环境――Appserv
2006/12/13 PHP
模拟flock实现文件锁定
2007/02/14 PHP
php中Socket创建与监听实现方法
2015/01/05 PHP
PHP实现自动识别Restful API的返回内容类型
2015/02/07 PHP
php实现模拟post请求用法实例
2015/07/11 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
PHP封装的分页类与简单用法示例
2019/02/25 PHP
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
js控制淡入淡出示例代码
2013/11/12 Javascript
js中opener与parent的区别详细解析
2014/01/14 Javascript
JavaScript的Backbone.js框架入门学习指引
2016/05/07 Javascript
JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
2016/06/17 Javascript
js实现图片上传预览原理分析
2017/07/13 Javascript
AngularJS日程表案例详解
2017/08/15 Javascript
JavaScript实现换肤功能
2017/09/15 Javascript
Vuejs实现购物车功能
2017/11/05 Javascript
node.js文件上传重命名以及移动位置的示例代码
2018/01/19 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
2019/01/18 jQuery
js Math数学简单使用操作示例
2020/03/13 Javascript
jQuery实现推拉门效果
2020/10/19 jQuery
python重试装饰器示例
2014/02/11 Python
python求斐波那契数列示例分享
2014/02/14 Python
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
Python使用pyyaml模块处理yaml数据
2020/04/14 Python
python 检测nginx服务邮件报警的脚本
2020/12/31 Python
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
美国保健品专家:Life Extension
2018/05/04 全球购物
意大利宠物用品购物网站:Bauzaar
2018/09/15 全球购物
湖南卫视在线视频媒体平台:芒果TV
2019/10/30 全球购物
水利公司纪检监察自我鉴定
2014/02/25 职场文书
消防安全承诺书
2014/05/22 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
高一语文教学反思
2016/02/16 职场文书