当前位置: 首页 > article >正文

关于ETL的BackgroundScheduler同步方案和misfire_grace_time

如果做ETL避免脏数据,那么不可以允许同一个job有并行允许的情况,也就是说max_instance参数始终设置成1。

这时候执行ETL任务,会有以下情况。

1 任务不超时。正常执行

2 任务超时。如果下一个时间点上一次任务还没有执行完,那么这个时间点的任务会被直接丢弃。

比如:间隔时间30秒,任务执行周期40秒,开始时间8:00:00

那么 8:00:00~8:00:40正常执行,8:00:30的任务被丢弃,下次执行时间是8:01:00

 那么能否采用补发策略misfire_grace_time呢,答案是否定。

因为:

misfire_grace_time=30 的计时起点是‌任务理论触发的时间点‌(即预设的执行时间)

misfire_grace_time 的触发条件

  • 仅适用于‌任务未开始执行‌的情况(如线程池满、系统卡顿导致延迟触发,比如内存使用率过高)
  • 若前一个任务实例‌仍在执行中‌,新触发会被视为并发冲突而非延迟触发

综上,如果需要排队发送,也就是说如果超时立即发送,那么请选用Queue,kafka等队列

 

 

http://www.lryc.cn/news/2403261.html

相关文章:

  • 多线程下使用缓存+锁Lock, 出现“锁失效” + “缓存未命中竞争”的缓存击穿情况,双重检查缓存解决问题
  • Playwright 测试框架 - .NET
  • 命令行以TLS/SSL显式加密方式访问FTP服务器
  • Mac 双系统
  • Linux配置yum 时间同步服务 关闭防火墙 关闭ESlinux
  • SpringBoot 系列之集成 RabbitMQ 实现高效流量控制
  • LLaMA-Factory和python版本的兼容性问题解决
  • 掌握子网划分:优化IP分配与管理
  • Linux中shell编程表达式和数组讲解
  • 每日算法-250605
  • 分布式锁-Redisson实现
  • HTTP 请求协议简单介绍
  • C++学习-入门到精通【14】标准库算法
  • 银行用户评分规则 深度学习
  • HarmonyOS运动语音开发:如何让运动开始时的语音播报更温暖
  • # 从底层架构到应用实践:为何部分大模型在越狱攻击下失守?
  • vscode使用系列之快速生成html模板
  • Thinkphp6软删除
  • 网页前端开发(基础进阶4--axios)
  • 软件安全:漏洞利用与渗透测试剖析、流程、方法、案例
  • Haproxy的基础配置
  • 考研系列—操作系统:冲刺笔记(1-3章)
  • 使用 Docker Compose 部署 Jenkins(LTS 版)持续集成环境
  • Java调用大模型API实战指南
  • C#中的路由事件(Routed Events)
  • [蓝桥杯]通电
  • 单片机0-10V电压输出电路分享
  • 从零开始,搭建一个基于 Django 的 Web 项目
  • 大模型模型部署和暴露接口
  • 2025服装收银系统推荐:智能管理助力服装商家高效经营