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实现探测socket和web服务示例
Mar 28 Python
Python中使用PyQt把网页转换成PDF操作代码实例
Apr 23 Python
详解Golang 与python中的字符串反转
Jul 21 Python
Django入门使用示例
Dec 12 Python
Python matplotlib 画图窗口显示到gui或者控制台的实例
May 24 Python
python模块之subprocess模块级方法的使用
Mar 26 Python
python使用sessions模拟登录淘宝的方式
Aug 16 Python
Python根据服务获取端口号的方法
Sep 25 Python
详解Python中打乱列表顺序random.shuffle()的使用方法
Nov 11 Python
pytorch中的自定义反向传播,求导实例
Jan 06 Python
解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了
Apr 07 Python
python+flask编写一个简单的登录接口
Nov 13 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 CURL获取邮箱地址的详解
2013/06/03 PHP
php的array数组和使用实例简明教程(容易理解)
2014/03/20 PHP
PHP批量去除BOM头代码分享
2015/06/26 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
2015/10/10 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
2016/03/23 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
2019/01/17 PHP
JavaScript 在线压缩和格式化收藏
2009/01/16 Javascript
jQuery表单验证插件formValidator(改进版)
2012/02/03 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
jQuery控制Div拖拽效果完整实例分析
2015/04/15 Javascript
JQuery中节点遍历方法实例
2015/05/18 Javascript
jQuery实现的精美平滑二级下拉菜单效果代码
2016/03/28 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
vue数据双向绑定的注意点
2017/06/23 Javascript
vue 实现模糊检索并根据其他字符的首字母顺序排列
2019/09/19 Javascript
python实现通过shelve修改对象实例
2014/09/26 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
Python 基础之字符串string详解及实例
2017/04/01 Python
Python 查看文件的编码格式方法
2017/12/21 Python
python实现远程通过网络邮件控制计算机重启或关机
2018/02/22 Python
Python中XlsxWriter模块简介与用法分析
2018/04/24 Python
利用Python查看微信共同好友功能的实现代码
2019/04/24 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
python程序中的线程操作 concurrent模块使用详解
2019/09/23 Python
python 的topk算法实例
2020/04/02 Python
python定义类的简单用法
2020/07/24 Python
pip/anaconda修改镜像源,加快python模块安装速度的操作
2021/03/04 Python
html5移动端自适应布局的实现
2020/04/15 HTML / CSS
员工自我评价范文
2015/03/11 职场文书
幼儿园2015年度工作总结
2015/04/01 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书
情况说明书怎么写
2015/10/08 职场文书
关于实现中国梦的心得体会
2016/01/05 职场文书
浅谈Java实现分布式事务的三种方案
2021/06/11 Java/Android
python模块与C和C++动态库相互调用实现过程示例
2021/11/02 Python