XXL-JOB同一时间点定时任务过多导致CPU告警及解决

目前项目有个类似拍卖场的场景,拍卖场会在开始一段时间后结束掉。目前的实现方式:用XXL-JOB,一个拍卖场一个定时任务。定时任务里处理拍卖结束的业务逻辑。随着业务量增多,每天会有一批的拍卖场会在同一时间结束拍卖。到点CPU就直接拉满。

直接上结论:XXL-JOB执行器执行定时任务时,一个任务创建一个线程执行。 而且这些线程没有用线程池!到时间点后,有多少定时任务就启动多少线程,所以CPU爆掉了。

最初以为XXL-JOB有什么配置可以配,但是找了半天也没找到。

目前想到的解决方法:

  1. 定时任务的代码块提到线程池去执行
  2. 用消息中间件,定时任务里是发消息,由后面的消费者去执行任务。

XXL-JOB执行器逻辑:我就不拾人牙慧了,直接贴链接:分布式调度平台XXL-JOB源码分析-执行器端

我的解决方法:

​ 1、定义线程池(项目有就不需要另建了)

@Configuration
@Slf4j
public class ThreadPoolConfig {
   
   
    @Bean
    public ExecutorService getThreadPool(){
   
   
        return new ThreadPoolExecutor(  2,
                5,
                30L,
                TimeUnit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值