中间使用 xxl-job 的日志记录错误信息和执行结果 1.3.3.2 视频补偿机制 由于使用乐观锁会将任务状态更新为处理中,如果此时执行任务的执行器(服务)宕机了,会导致该任务记录一直存在,因为乐观锁的原因别的执行器也无法获取,这个时候同样需要使用任务调度的方式,定期扫描任务表,判断任务是否处于处理中状态并且任务创建时间...
因xxl-job 没有使用 spring-boot-starter,需自行将配置类注入到 Spring 容器中。 @Configuration publicclassXxlJobConfig{ privateLoggerlogger=LoggerFactory.getLogger(XxlJobConfig.class); @Value("${xxl.job.admin.addresses}") privateString adminAddresses; @Value("${xxl.job.accessToken}") privateString a...
最不经常使用(LFU:Least Frequently Used):Xxl-Job内部会有一个缓存,统计每个任务每个地址的使用次数,每次都选择使用次数最少的地址,这个缓存每隔24小时重置一次 最近最久未使用(LRU:Least Recently Used):将地址存到LinkedHashMap中,它利用LinkedHashMap可以根据元素访问(get/put)顺序来给元素排序的特性,快速找到最近...
CONSISTENT_HASH(一致性HASH):每个任务按照Hash算法固定选择某一台机器,且所有任务均匀散列在不同机器上。 LEAST_FREQUENTLY_USED(最不经常使用):使用频率最低的机器优先被选举; LEAST_RECENTLY_USED(最近最久未使用):最久未使用的机器优先被选举; FAILOVER(故障转移):按照顺序依次进行心跳检测,第一个心跳检测成功的...
XXL-JOB使用总结 一、XXL-JOB简介 XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习门槛低、轻量级、易扩展。XXL-JOB使用简单,支持通过Web界面进行任务的增删改查,同时也支持通过API接口进行任务管理。它支持CRON表达式、固定间隔以及固定延迟等多种调度方式,可以满足大部分任务调度的需求。 二、...
如下是执行器列表,可见我们有两个执行器,其中一个执行器liu-job有两个实例,OnLine机器地址为2,在xxl-job中,执行器叫做AppName,这就相当于我们微服务中的服务名称,我们可以在执行器项目的properties文件中指明,此处注册执行器,其实和我们使用Nacos,Zookeeper,Eureka作为注册中心是一样的,只是xxl-job使用MySQL作为注册中...
a. 第一个: 固定使用执行器中的第一个机器执行任务 b. 轮询: 按照顺序调度执行器中的一个机器执行任务 c. 随机: 随机选择执行器中的一个机器执行任务 d. 一致性hash: 每个任务按照Hash算法固定选择某一台机器,且所有任务均匀散列在不同机器上 e. 最不常使用: 使用频率最低的机器优先被选举 ...
XXL-JOB搭建与使用 一、背景 最一开始接触XXL-JOB是因为一个定时任务的需求,说到定时任务可能一开始会想到Java中的@Scheduled,但我们的项目是集群部署的,如果使用@Scheduled将会出现风险,所以本次的重点XXL-JOB就非常适合当前的场景,本次我们将讲述:本地部署xxl-job服务+接入本地需要进行定时执行的服务。
xxl-job简单使用及SpringBoot整合xxl-job XXL-JOB是一个分布式任务调度平台,简单的说就是特定时间完成特定任务,例如定时发送短信,定时通知等。 一、安装 源码下载可以通过github或者gitee # 下载源码 git clone https://gitee.com/xuxueli0323/xxl-job cd xxl-job...
使用场景 个人认为xxl-job比较适合运行耗时比较长的大任务(定时大任务的估计也差不多),或者数量少耗时短的微任务;对于那种数量多或是运行时间较短的微任务可能不太适合(我的项目正好是后面这种...)。 再具体点,可以细分为两类: 相同jobId:适合数量少耗时长的大任务;不适合数量多或耗时短的微任务,不适合数量多耗...