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解析xml文件实例分享
Dec 04 Python
Python 字典dict使用介绍
Nov 30 Python
Python实现的Google IP 可用性检测脚本
Apr 23 Python
在Python中操作列表之list.extend()方法的使用
May 20 Python
浅谈Django自定义模板标签template_tags的用处
Dec 20 Python
从django的中间件直接返回请求的方法
May 30 Python
Python3实现对列表按元组指定列进行排序的方法分析
Dec 22 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
Mar 06 Python
python3检查字典传入函数键是否齐全的实例
Jun 05 Python
在Python中字典按值排序的实现方法
Nov 12 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
Dec 23 Python
详解Python小数据池和代码块缓存机制
Apr 07 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 无法加载mcrypt.dll的解决办法
2013/04/03 PHP
php实现aes加密类分享
2014/02/16 PHP
PHP将session信息存储到数据库的类实例
2015/03/04 PHP
php计算指定目录下文件占用空间的方法
2015/03/13 PHP
php通过function_exists检测函数是否存在的方法
2015/03/18 PHP
扩展jQuery 键盘事件的几个基本方法
2009/10/30 Javascript
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
JavaScript触发onScroll事件的函数节流详解
2016/12/14 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
iview通过Dropdown(下拉菜单)实现的右键菜单
2018/10/26 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
2019/07/04 Javascript
如何在JavaScript中创建具有多个空格的字符串?
2020/02/23 Javascript
swiper自定义分页器的样式
2020/09/14 Javascript
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
Python3实现连接SQLite数据库的方法
2014/08/23 Python
Python中关于使用模块的基础知识
2015/05/24 Python
python 根据正则表达式提取指定的内容实例详解
2016/12/04 Python
Python代码实现KNN算法
2017/12/20 Python
在python中实现对list求和及求积
2018/11/14 Python
Python 运行 shell 获取输出结果的实例
2019/01/07 Python
python使用正则筛选信用卡
2019/01/27 Python
python3.x 生成3维随机数组实例
2019/11/28 Python
Python enumerate函数遍历数据对象组合过程解析
2019/12/11 Python
python requests模拟登陆github的实现方法
2019/12/26 Python
Python基于gevent实现文件字符串查找器
2020/08/11 Python
python操作ini类型配置文件的实例教程
2020/10/30 Python
Django celery异步任务实现代码示例
2020/11/26 Python
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
运动会通讯稿100字
2014/01/31 职场文书
售后服务承诺书范文
2014/03/26 职场文书
2014年教师业务学习材料
2014/05/12 职场文书
4s店活动策划方案
2014/08/25 职场文书
财务务虚会发言材料
2014/10/20 职场文书
学生保证书
2015/01/16 职场文书
婚礼庆典答谢词
2015/01/20 职场文书
一文搞懂Redis中String数据类型
2022/04/03 Redis