资讯专栏INFORMATION COLUMN

调用xxl-job传参遇到的坑

IT那活儿 / 4041人阅读
调用xxl-job传参遇到的坑
点击上方“IT那活儿”,关注后了解更多内容,不管IT什么活儿,干就完了!!!





背景介绍



首先介绍一下xxl-job,官网上作者是这么说的:
xxl-job是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
确实如作者所说,易学且好用。
刚好现在有一个需求就使用上了xxl-job执行任务。





问题描述



在通过java应用调用xxl-job调度中心调用执行器时发现了一个很容易忽略的问题,那就是调用调度中心接口时传的参数过长,xxl-job自带的日志表将不能记录下执行器地址、执行器入参以及调度成功失败信息,但是执行器又将任务执行成功/失败了。
java调用xxl-job调度中心传参过长。
调度中心日志展示问题。





问题排查



一开始直觉告诉我这样的肯定是有问题的,但是百度了一圈后,发现网上都没有出现过我遇到的问题。于是我又去找执行器的日志,但是日志都很正常。这样这个问题就僵住了,一时间没有解决办法。
于是我就在决定在本地测试,将调度中心和执行器改都改为本地运行。
一直debug,最终在控制台找到了原因。
就在传参上出问题了,就是xxl-job日志表中的执行器入参字段长度有限制,最后去服务器上一看,确实是这个问题。
执行器入参过长保存日志时报错。
xxl-job日志表执行器入参字段长度。





解决方案



其实这样的小问题解决方案还是挺多的,最简单的就是将执行器入参的长度减短。满足表中的要求就行了。
如果就有入参过长的硬性需求时,那就只能将表中的字段长度加长。我这里基于尊重原创就将参数简化了。
调用xxl-job接口入参减短。
调度中心日志展示正常。
执行器地址等信息正常记录。
xxl-job调用执行器入参记录。
上述的的问题在只有一个执行器的情况下虽然任务能执行成功,影响不大。但是在配置多个执行器的情况下就很难定位问题,找不到任务在哪个执行器执行的。
所以不能因为不影响功能使用而轻易放过任何一个小小的bug,那样的话总有一天它会成为一个大窟窿,到时候就不好填补了。



本文作者:段席超

本文来源:IT那活儿(上海新炬王翦团队)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129539.html

相关文章

  • 分布式任务调度平台XXL-JOB

    摘要:分布式任务调度平台一简介概述是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速学习简单轻量级易扩展。 《分布式任务调度平台XXL-JOB》 showImg(https://segmentfault.com/img/remote/1460000010402214);showImg(https://segmentfault.com/img/remote/146000001040221...

    huangjinnan 评论0 收藏0
  • XXL-JOB v2.0.0 发布,分布式任务调度平台

    v2.0.0 Release Notes 1、调度中心迁移到 springboot; 2、底层通讯组件迁移至 xxl-rpc; 3、容器化:提供官方docker镜像,并实时更新推送dockerhub(docker pull xuxueli/xxl-job-admin),进一步实现产品开箱即用; 4、新增无框架执行器Sample示例项目 xxl-job-executor-sample-framel...

    Edison 评论0 收藏0
  • xxl-job之调度中心启动源码分析(一)

    摘要:之调度中心启动源码分析一首先从的配置看起,从以下配置可以看出,内部使用的是配置自动启动延时启动,应用启动成功后在启动覆盖中以数据库中已经存在的为准这个调度中心,在启动的时候,会做很多初始化的工作,比如执行器信 xxl-job之调度中心启动源码分析(一) 首先从spring的配置看起, 从以下配置可以看出,xxl内部使用的是quartz spring配置 ...

    Xufc 评论0 收藏0
  • XXL-JOB v1.9.1,分布式任务调度平台

    摘要:版本特性国际化调度中心实现国际化,支持中文英文两种语言,默认为中文。调度中心提供触发任务单次执行的服务,可根据业务事件灵活触发。 版本 V1.9.1 特性 1、国际化:调度中心实现国际化,支持中文、英文两种语言,默认为中文。 2、调度报表新增运行中中状态项; 3、调度报表优化,报表SQL调优并且新增LocalCache缓存(缓存时间60s),提高大数据量下报表加载速度; 4、修复打包...

    沈建明 评论0 收藏0
  • 分布式任务调度平台的自动化部署

    摘要:分布式任务调度平台,美团点评员工许雪里开发,其核心设计目标是开发迅速学习简单轻量级易扩展。源码地址二本文简介主要是利用成熟的部署工具,结合开源的分布式任务调度框架作为工程,快速搭建自己的持续集成项目,其他项目可以类似构建。 一、概述 1、自动化部署能简化开发过程的代码管理,让开发人员把更多的时间专注于业务实现, 简化繁琐的上线流程和操作步骤,做到项目的快速打包和部署,减少人...

    tomato 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<