当前位置: 首页 > news >正文

XXL-JOB-Admin后台手动执行任务传参过长被截断问题解决

文章目录

  • 1.问题
  • 2.解决
    • 1.方法一
    • 2.方法二
  • 3.总结

1.问题

    由于之前遇到一个定时任务有好多天的执行失败了,然后排查问题修复代码之后(或者一些其他原因导致订单任务执行失败,比如之前那个accessToken设置的问题导致定时任务会执行失败),然后就需要手动去一天一天的触发执行,如果你写的那个job的参数拓展性很好,可以传入一个参数解析之后把失败那些天的数据重新查询之后触发执行,那么这个组装的参数就会很长很长,在后台管理业页面点击执行任务然后把参数复制粘贴到对应的任务参数那一栏,如果参数非常的长,输入粘贴的参数就会被截断,然后提交任务执行就会导致参数解析异常而失败。

    任务管理里面点击对应任务执行一次弹框界面如下:

image-20250914110240746

2.解决

    那这个问题如何解决呢?答案很简单,如果你对XXL-JOB的原理和源码很熟悉的话,可以说是小kiss的,直接上方法:

1.方法一

    可以将参数拆分小一些,然后触发粘贴上去执行,这种是一种有效的笨办法。

2.方法二

    可以使用postMan或者Apifox等HTTP的接口请求工具,先在浏览器登录XXL-JOB的admin后台账号,然后找到对应的任务

    抓取到对应任务执行的触发接口url,然后将参数也抓取到,还要在请求头上带上一个cookie的参数,相关参数可以登录admin后台,F12找到对应的地址和相关的参数:

url:http://ip:port/xxl-job-admin/jobinfo/trigger
## xxl-job-admin是一个服务路径,默认是下面这个
server.servlet.context-path=/xxl-job-admin
cookie:XXL_JOB_LOGIN_IDENTITY=xxxxxxxxxxxxxxx

    admin后端触发执行的控制器方法是在JobInfoController类的如下方法:

 @RequestMapping("/trigger")@ResponseBody//@PermissionLimit(limit = false)public ReturnT<String> triggerJob(int id, String executorParam, String addressList) {// force cover job paramif (executorParam == null) {executorParam = "";}JobTriggerPoolHelper.trigger(id, TriggerTypeEnum.MANUAL, -1, null, executorParam, addressList);return ReturnT.SUCCESS;}#通过源码可以知道,addressList的格式如下:
private String addressList;     // 执行器地址列表,多地址逗号分隔(手动录入)

    addressList参数可以去执行器管理找到对应服务客户端根据AppName有一个OnLine机器地址点查看弹框里面显示的就有(需要注意的是这个是client自动注册上来的,但是有的时候默默奇妙的注册不上了,是因为你使用的端口已经被其它服务占用了导致你的这个XXL-JOB的客户端没有注册到admin上,所以就需要跟换一个空闲的端口就可以了)

    http请求接口调用截图:这个trigger接口是通过表单提交的,不是params也不是body,这个可以在页面中看到请求类型的body是一个form-data的类型

image-20250914112744789

    执行结果:

image-20250914113417277

3.总结

    到此,这个后台提交过长参数执行被截断的问题就可以通过另外一种方式解决,我之前就是通过那个笨办法搞的,后面我理解了它的原理和看了它的源码之后,我思路一转,可不可以用http请求工具调用一下,然后就去搞了试一下,结果接搞成了,希望我的分享对你有所帮助和启发,请一键三连,么么么哒!


文章转载自:

http://ymg2gDG8.bLqmn.cn
http://vs27Xdop.bLqmn.cn
http://rSwOeisb.bLqmn.cn
http://426x5GyV.bLqmn.cn
http://eJLl9DmN.bLqmn.cn
http://OqjdIhyl.bLqmn.cn
http://SNcm7Y70.bLqmn.cn
http://9kDtCJE6.bLqmn.cn
http://ZsJyPPl0.bLqmn.cn
http://H9nxWRQJ.bLqmn.cn
http://5NEVNfAt.bLqmn.cn
http://D9byWANH.bLqmn.cn
http://p9dgOL4l.bLqmn.cn
http://UPTS6O24.bLqmn.cn
http://npo5Mpw2.bLqmn.cn
http://uMYs5RYa.bLqmn.cn
http://IFgmSTQp.bLqmn.cn
http://GXcn2DxW.bLqmn.cn
http://FHUFgONb.bLqmn.cn
http://ziL4NIyF.bLqmn.cn
http://0yASGna2.bLqmn.cn
http://MIxlSpL7.bLqmn.cn
http://NSoPSsjM.bLqmn.cn
http://2Y2Vy4oK.bLqmn.cn
http://DW6eoCpe.bLqmn.cn
http://6zedPlfT.bLqmn.cn
http://UtIFtyUz.bLqmn.cn
http://hX59jgvb.bLqmn.cn
http://NYoK0a4I.bLqmn.cn
http://N7qTxXfx.bLqmn.cn
http://www.dtcms.com/a/383276.html

相关文章:

  • 【AI推理部署】Docker篇02—Docker 快速入手
  • 【C语言描述】《数据结构和算法》一 绪论与时间、空间复杂度
  • 服务器 - 从一台服务器切换至另一台服务器(损失数十条访客记录)
  • 【Android】View 交互的事件处理机制
  • 软考中级信息安全与病毒防护知识点
  • 贪心算法应用:量子密钥路径选择问题详解
  • 【算法】【链表】160.相交链表--通俗讲解
  • v-model与.aync的区别
  • 淘宝返利app的前端性能优化:从资源加载到首屏渲染的全链路优化
  • 【LeetCode】38. 外观数列
  • ZYNQ7020 Bank划分
  • 【2025】Office核心组件Microsoft word,Excel,PowerPoint详细使用指南
  • ARM编译器的__inline和 __forceinline
  • Zookeeper介绍与部署(Linux)
  • [硬件电路-216]:电场是什么?只有正电荷或只有负电荷,能产生电场吗?
  • pthread_mutex_lock函数深度解析
  • 【记录】初赛复习 Day1
  • 深入理解跳表(Skip List):原理、实现与应用
  • SciKit-Learn 全面分析 20newsgroups 新闻组文本数据集(文本分类)
  • 使用 Neo4j 和 Ollama 在本地构建知识图谱
  • 【愚公系列】《人工智能70年》018-语音识别的历史性突破(剑桥语音的黄金十年)
  • Debezium日常分享系列之:MongoDB 新文档状态提取
  • Linux 日志分析:用 ELK 搭建个人运维监控平台
  • docker内如何用ollama启动大模型
  • Flask学习笔记(二)--路由和变量
  • FlashAttention(V3)深度解析:从原理到工程实现-Hopper架构下的注意力机制优化革命
  • 一文入门:机器学习
  • Uniswap:DeFi领域的革命性交易协议
  • 3. 自动驾驶场景中物理层与逻辑层都有哪些标注以及 数据标注技术规范及实践 -----可扫描多看几遍,有个印象,能说出来大概就行
  • 鸿蒙智行8月交付新车44579辆,全系累计交付突破90万辆