python APScheduler执行定时任务介绍


Posted in Python onApril 19, 2022

一、安装

pip install apscheduler

二、定时执行一次

  • 新建一个scheduler调度器
  • 添加一个job store调度任务
  • 运行调度任务
import datetime
from apscheduler.schedulers.blocking import BlockingScheduler

def task(name):
print('%s告诉你现在时间是:%s' . format(name, datetime.datetime.now()))

# 该任务将会在2022-05-20 13:14:52执行一次
scheduler = BlockingScheduler()
scheduler.add_job(task, 'date', run_date=datetime.datetime(2022, 5, 20, 13, 14, 52), args=['autofelix'], id='task')
scheduler.start()

三、间隔执行

  • 当你调度作业的时候,你需要为这个作业选择一个触发器,用来描述这个作业何时被触发
  • date 一次性指定日期
  • interval 在某个时间范围内间隔多长时间执行一次
from apscheduler.schedulers.blocking import BlockingScheduler

def task():
print('我是飞兔小哥')

# 每隔10秒数执行一次
scheduler = BlockingScheduler()
scheduler.add_job(task, 'interval', seconds=10, id='task')
scheduler.start()

四、每日定时执行一次

  • cron 和Linux crontab格式兼容,最为强大
from apscheduler.schedulers.blocking import BlockingScheduler

f = open('status.text', 'a', encoding='utf8')
sc = BlockingScheduler()
@sc.scheduled_job('cron', day_of_week='*', hour=1, minute='30', second='50')

if name == '__main__':
try:
sc.start()
f.write('定时任务成功执行')
except Exception as e:
sc.shutdown()
f.write('定时任务执行失败')
finally:
f.close()

五、每几分钟执行一次

  • /2:每隔2分钟执行一次
  • /1:每隔1分钟执行一次
from apscheduler.schedulers.blocking import BlockingScheduler

def task():
print('你的任务每隔2分钟执行一次')

scheduler = BlockingScheduler()
scheduler.add_job(job1, 'cron', minute="/2", id='task')
scheduler.start()

六、每小时执行一次

  • jitter:代表可以上下浮动的秒数
from apscheduler.schedulers.blocking import BlockingScheduler

def task():
print('你的任务每隔1小时执行一次')

scheduler = BlockingScheduler()
scheduler.add_job(task, 'interval', hours=1, id='task')
# scheduler.add_job(task, 'interval', hours=1, id='task', jitter=120)
scheduler.start()

七、调度器分类

  • BlockingScheduler : 当调度器是你应用中唯一要运行的东西时
  • BackgroundScheduler : 当你没有运行任何其他框架并希望调度器在你应用的后台执行时使用(充电桩即使用此种方式)
  • AsyncIOScheduler : 当你的程序使用了asyncio(一个异步框架)的时候使用
  • GeventScheduler : 当你的程序使用了gevent(高性能的Python并发框架)的时候使用
  • TornadoScheduler : 当你的程序基于Tornado(一个web框架)的时候使用
  • TwistedScheduler : 当你的程序使用了Twisted(一个异步框架)的时候使用
  • QtScheduler : 如果你的应用是一个Qt应用的时候可以使用

到此这篇关于python 包之 APScheduler 定时任务 的文章就介绍到这了!

Python 相关文章推荐
python实现apahce网站日志分析示例
Apr 02 Python
详解Python中的正则表达式的用法
Apr 09 Python
合并百度影音的离线数据( with python 2.3)
Aug 04 Python
Python实现的远程登录windows系统功能示例
Jun 21 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
Apr 17 Python
Python闭包和装饰器用法实例详解
May 22 Python
python 实现在tkinter中动态显示label图片的方法
Jun 13 Python
处理python中多线程与多进程中的数据共享问题
Jul 28 Python
python字符串的拼接方法总结
Nov 18 Python
MNIST数据集转化为二维图片的实现示例
Jan 10 Python
使用K.function()调试keras操作
Jun 17 Python
浅谈Python数学建模之线性规划
Jun 23 Python
Python数据可视化之Seaborn的安装及使用
python 闭包函数详细介绍
Apr 19 #Python
Python  lambda匿名函数和三元运算符
Apr 19 #Python
Python使用mitmproxy工具监控手机 下载手机小视频
使用Python通过企业微信应用给企业成员发消息
Python用any()函数检查字符串中的字母以及如何使用all()函数
Apr 14 #Python
python在package下继续嵌套一个package
Apr 14 #Python
You might like
php 上传功能实例代码
2010/04/13 PHP
php版淘宝网查询商品接口代码示例
2014/06/17 PHP
两个php日期控制类实例
2014/12/09 PHP
一个简单安全的PHP验证码类 附调用方法
2016/06/24 PHP
JScript中使用ADODB.Stream判断文件编码的代码
2008/06/09 Javascript
js实现瀑布流的一种简单方法实例分享
2013/11/04 Javascript
jquery在项目中做复选框时遇到的一些问题笔记
2013/11/17 Javascript
获得Javascript对象属性个数的示例代码
2013/11/21 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
2014/05/26 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
jQuery基础知识小结
2014/12/22 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
Javascript中的return作用及javascript return关键字用法详解
2015/11/05 Javascript
jQuery实现的左右移动焦点图效果
2016/01/14 Javascript
详解javascript实现瀑布流绝对式布局
2016/01/29 Javascript
jQuery Ztree行政地区树状展示(点击加载)
2016/11/09 Javascript
简单谈谈ES6的六个小特性
2016/11/18 Javascript
vue 父组件中调用子组件函数的方法
2019/06/06 Javascript
layer.prompt使文本框为空的情况下也能点击确定的方法
2019/09/24 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
使用python删除nginx缓存文件示例(python文件操作)
2014/03/26 Python
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
详细解析Python当中的数据类型和变量
2015/04/25 Python
从Python的源码来解析Python下的freeblock
2015/05/11 Python
Python实现新浪博客备份的方法
2016/04/27 Python
Python入门_浅谈字符串的分片与索引、字符串的方法
2017/05/16 Python
Python3 批量扫描端口的例子
2019/07/25 Python
使用coverage统计python web项目代码覆盖率的方法详解
2019/08/05 Python
HTML5探秘:用requestAnimationFrame优化Web动画
2018/06/03 HTML / CSS
美国最受欢迎的童装品牌之一:The Children’s Place
2016/07/23 全球购物
加拿大探亲邀请信
2014/01/28 职场文书
经贸日语专业自荐信
2014/09/02 职场文书
自查自纠工作情况报告
2014/10/29 职场文书
幼师中班个人总结
2015/02/12 职场文书
护士自荐信范文
2015/03/25 职场文书
大学迎新生的欢迎词
2019/06/25 职场文书