分布式任务调度平台XXL-JOB:调度报告生成报错

系列文章目录


文章目录


前言

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
在这里插入图片描述


Quartz作为开源作业调度中的佼佼者,是作业调度的首选。但是集群环境中Quartz采用API的方式对任务进行管理,从而可以避免上述问题,但是同样存在以下问题:

问题一:调用API的的方式操作任务,不人性化;

问题二:需要持久化业务QuartzJobBean到底层数据表中,系统侵入性相当严重。

问题三:调度逻辑和QuartzJobBean耦合在同一个项目中,这将导致一个问题,在调度任务数量逐渐增多,同时调度任务逻辑逐渐加重的情况下,此时调度系统的性能将大大受限于业务;

问题四:quartz底层以“抢占式”获取DB锁并由抢占成功节点负责运行任务,会导致节点负载悬殊非常大;而XXL-JOB通过执行器实现“协同分配式”运行任务,充分发挥集群优势,负载各节点均衡。

XXL-JOB弥补了quartz的上述不足之处。
在这里插入图片描述
经其他开发人员反馈,在使用中一直会报错,查看日志如下:

06:28:22.377 logback [xxl-job, admin JobLogReportHelper] ERROR c.x.j.a.c.thread.JobLogReportHelper - >>>>>>>>>>> xxl-job, job log report thread error:{
   }
org.springframework.dao.DuplicateKeyException: 
### Error updating database.  Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '2022-08-16 08:00:00' for key 'xxl_job_log_report.i_trigger_day'
### The error may exist in class path resource [mybatis-mapper/XxlJobLogReportMapper.xml]
### The error may involve com.xxl.job.admin.dao.XxlJobLogReportDao.save-Inline
### The error occurred while setting parameters
### SQL: INSERT INTO xxl_job_log_report (    `trigger_day`,    `running_count`,    `suc_count`,    `fail_count`   ) VALUES (    ?,    ?,    ?,    ?   );
### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '2022-08-16 08:00:00' for key 'xxl_job_log_report.i_trigger_day'
; Duplicate entry '2022-08-16 08:00:00' for key 'xxl_job_log_report.i_trigger_day'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '2022-08-16 08:00:00' for key 'xxl_job_log_report.i_trigger_day'
    at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:247)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70)
    at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91)
    at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)
    at com.sun.proxy.$Proxy75.insert(Unknown Source)
    at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272)
    at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62)
    at org.apache.ibatis.binding

相关推荐

最近更新

  1. 使用Spring Cloud构建微服务架构下的淘客返利系统

    2024-04-11 14:46:02       0 阅读
  2. TCP/IP协议族结构和协议

    2024-04-11 14:46:02       1 阅读
  3. 重读AI金典算法模型-GPT系列

    2024-04-11 14:46:02       1 阅读
  4. win10使用小技巧三

    2024-04-11 14:46:02       1 阅读
  5. 根据关键词query获取google_img(api方式)

    2024-04-11 14:46:02       1 阅读
  6. redis中的事务和mysql中的事务有什么区别?

    2024-04-11 14:46:02       1 阅读
  7. C# 构造函数依赖注入 使用out向外传递参数

    2024-04-11 14:46:02       1 阅读

热门阅读

  1. 磁盘管理与逻辑卷

    2024-04-11 14:46:02       17 阅读
  2. 蓝桥杯刷题 二分-[364]跳石头(C++)

    2024-04-11 14:46:02       19 阅读
  3. 使用Python快速模拟前端常用页面数据格式

    2024-04-11 14:46:02       18 阅读
  4. 单例模式基本介绍及两种实现方式详解

    2024-04-11 14:46:02       17 阅读
  5. 鸿蒙开发 一 (二)、熟悉鸿蒙之剑 ArkTS

    2024-04-11 14:46:02       20 阅读
  6. 腾讯云短暂崩溃2小时

    2024-04-11 14:46:02       18 阅读