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之正规地说一句话
Sep 28 Python
用python找出那些被“标记”的照片
Apr 20 Python
详解Python自建logging模块
Jan 29 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
May 26 Python
Python文件读写保存操作的示例代码
Sep 14 Python
django 实现编写控制登录和访问权限控制的中间件方法
Jan 15 Python
扩展Django admin的list_filter()可使用范围方法
Aug 21 Python
Python实现图像去噪方式(中值去噪和均值去噪)
Dec 18 Python
Ranorex通过Python将报告发送到邮箱的方法
Jan 12 Python
Django 解决distinct无法去除重复数据的问题
May 20 Python
Django 构建模板form表单的两种方法
Jun 14 Python
python os.rename实例用法详解
Dec 06 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
The specified CGI application misbehaved by not returning a complete set of HTTP headers
2011/03/31 PHP
PHP编程函数安全篇
2013/01/08 PHP
基于php下载文件的详解
2013/06/02 PHP
PHP中常用的转义函数
2014/02/28 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
javascript 基础篇2 数据类型,语句,函数
2012/03/14 Javascript
Javascript实现关联数据(Linked Data)查询及注意细节
2013/02/22 Javascript
Extjs407 getValue()和getRawValue()区别介绍
2013/05/21 Javascript
JS+css 图片自动缩放自适应大小
2013/08/08 Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
2013/09/06 Javascript
前台js对象在后台转化java对象的问题探讨
2013/12/20 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
网页下载文件期间如何防止用户对网页进行其他操作
2014/06/27 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
2015/03/04 Javascript
使用堆实现Top K算法(JS实现)
2015/12/25 Javascript
JS搜狐面试题分析
2016/12/16 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
js 开发之autocomplete="off"在chrom中失效的解决办法
2017/09/28 Javascript
Bootstrap实现的表格合并单元格示例
2018/02/06 Javascript
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
2018/09/27 Javascript
JS简单数组排序操作示例【sort方法】
2019/05/17 Javascript
javscript 数组扁平化的实现
2020/02/03 Javascript
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
2020/05/08 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队Mineski晋级之路
2018/04/07 DOTA
[51:28]EG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/16 DOTA
python正则匹配抓取豆瓣电影链接和评论代码分享
2013/12/27 Python
python使用正则搜索字符串或文件中的浮点数代码实例
2014/07/11 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
2019/01/23 Python
PyTorch的Optimizer训练工具的实现
2019/08/18 Python
PyTorch笔记之scatter()函数的使用
2020/02/12 Python
spyder 在控制台(console)执行python文件,debug python程序方式
2020/04/20 Python
美国著名的家居用品购物网站:Bed Bath & Beyond
2018/01/05 全球购物
电子工程求职信
2014/07/17 职场文书
民主生活会对照检查材料范文
2014/10/01 职场文书
Python pandas读取CSV文件的注意事项(适合新手)
2021/06/20 Python