前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记一次xxl-job定时任务没有触发的问题

记一次xxl-job定时任务没有触发的问题

作者头像
疯狂的KK
修改2023-02-06 18:07:59
5.8K0
修改2023-02-06 18:07:59
举报
文章被收录于专栏:Java项目实战Java项目实战

定时任务框架太多了,选个简单高可用的以为就安心用就完了,结果哈,最先发现这个问题是去年的12月31日,我以为是我们的业务有bug了,当天提了问题,发现只有我们的没执行,就不自信了,不了了之了,最近又发生了。

那总的给个原因吧,这次连带的是其他小分队的也没有执行,是2月26日

那么下午运维给出了原因。

原因如下:

1.运维人员发现 xxx机器上 (数据库磁盘 /home 超过90% ),进入数据库中查看到 数据库 xxljob 库中,发现 XXL_JOB_QRTZ_TRIGGER_LOG 约有 16.5 GB(王德发~) 的数据,可以表中部分时间点数据,没有减少磁盘使用空间。

该表解释是 调度日志表:用于保存XXL-JOB任务调度的历史信息,如调度结果、执行结果、调度入参、调度机器和执行器等等;

2.操作命令:如下语句,执行后约 20 min ,发现磁盘空间没有下降。

表:XXL_JOB_QRTZ_TRIGGER_LOG 约有 16.5 GB

执行过程中

代码语言:javascript
复制
 DELETE FROM XXL_JOB_QRTZ_TRIGGER_LOG WHERE trigger_time >= '2021-12-17 00:18:59' AND trigger_time <= '2021-12-18 23:59:20';

操作可能导致数据库 死锁或者CPU夯住了,导致 0 时执行的任务,没有执行成功。

解决方案:

目前生产环境 xxljob-amdin 数据库服务器(xxx)磁盘 总大小:27G 已使用:9.7GB 剩余约:17GB,需要合理评估一下数据增长量,数据库磁盘容量大小进行扩容。

业务定时任务高峰期都集中夜间,建议任务调度服务中的 XXL_JOB_QRTZ_TRIGGER_LOG 这张表保留最近一周的日志量,在业务低峰期每天早上:9:00 定时执行脚本。

我默默的看了眼我生产数据库的最大表,4个G是2000万左右,16-17G也就是我的4倍,那可是将近一个亿啊,这说明什么?他没按着业务中心去分表啊,把所有数据全放在一个表Allin了?别说你时间字段没建索引,就是建了索引看来一天日志量也不小啊,这一下就可能导致锁表?首先咱也是读过官方文档的,它不是支持动态分片的么,这删除时间定为每天9点,那那些每5分钟执行一次的任务是不是还得凉凉?

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 赵KK日常技术记录 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档