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,APScheduler

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“Python APScheduler执行使用方法详解”
暂无“Python APScheduler执行使用方法详解”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。