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 相关文章推荐
开始着手第一个Django项目
Jul 15 Python
python实现百万答题自动百度搜索答案
Jan 16 Python
浅谈python连续赋值可能引发的错误
Nov 10 Python
对python GUI实现完美进度条的示例详解
Dec 13 Python
深入了解和应用Python 装饰器 @decorator
Apr 02 Python
Python数据类型之List列表实例详解
May 08 Python
Python3 列表,数组,矩阵的相互转换的方法示例
Aug 05 Python
python实现抠图给证件照换背景源码
Aug 20 Python
python list转置和前后反转的例子
Aug 26 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
Jun 17 Python
Django contrib auth authenticate函数源码解析
Nov 12 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模板类代码
2008/09/07 PHP
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
joomla数据库操作示例代码
2016/01/06 PHP
必须收藏的php实用代码片段
2016/02/02 PHP
PHP引用返回用法示例
2016/05/28 PHP
javascript 动态设置已知select的option的value值的代码
2009/12/16 Javascript
自动最大化窗口的Javascript代码
2013/05/22 Javascript
JavaScript实现更改网页背景与字体颜色的方法
2015/02/02 Javascript
js鼠标点击图片切换效果实现代码
2015/11/19 Javascript
JavaScript运动框架 多物体任意值运动(三)
2017/05/17 Javascript
详解Angular 4 表单快速入门
2017/06/05 Javascript
ionic选择多张图片上传的示例代码
2017/10/10 Javascript
JavaScript 下载svg图片为png格式
2018/06/21 Javascript
ES6 系列之 WeakMap的使用示例
2018/08/06 Javascript
layui的table单击行勾选checkbox功能方法
2018/08/14 Javascript
NodeJS如何实现同步的方法示例
2018/08/24 NodeJs
JS 实现获取验证码 倒计时功能
2018/10/29 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
python检查字符串是否是正确ISBN的方法
2015/07/11 Python
Python使用paramiko操作linux的方法讲解
2019/02/25 Python
python实现点击按钮修改数据的方法
2019/07/17 Python
Python 字符串类型列表转换成真正列表类型过程解析
2019/08/26 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
2020/02/18 Python
Django数据结果集序列化并展示实现过程
2020/04/22 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
世界领先的豪华床上用品供应商之一:Bedeck Home
2019/03/18 全球购物
乌克兰网上珠宝商店:GoldSoveren
2020/03/31 全球购物
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
2014/11/09 面试题
"引用"与多态的关系
2013/02/01 面试题
合作协议书范文
2014/08/20 职场文书
装修活动策划方案
2014/08/27 职场文书
重点工程汇报材料
2014/08/27 职场文书
大型主题婚礼活动策划方案
2014/09/15 职场文书
2014年家长学校工作总结
2014/11/20 职场文书
新员工考核评语
2014/12/31 职场文书
Python如何导出导入所有依赖包详解
2021/06/08 Python