xxl-job模块JobThread 跟 xxl-admin模块 JobCompleteHelper中的callback方法获取getHandleCode互斥

t1rydlwq  于 2021-11-29  发布在  Java
关注(0)|答案(0)|浏览(308)

Please answer some questions before submitting your issue. Thanks!

Which version of XXL-JOB do you using?

2.3.0

Expected behavior

@xxljob标记的方法中,通过http 线程池调用一个异步的http请求,在异步http执行回调方法之前,@xxljob标记的方法已经执行完成,返回200的handleCode。
当异步http执行完毕,获取结果之后,将结果信息组装到HandleCallbackParam(指定了logid),通过TriggerCallbackThread.pushCallBack(param)方法,将组装的 HandleCallbackParam 放到 TriggerCallbackThread.callBackQueue队列中。
在TriggerCallbackThread消费callBackQueue执行doCallback方法,调用admin的callback。此时admin的JobCompleteHelper.callback中会根据HandleCallbackParam.logid去数据库中获取XxlJobLog对象,并且进行校验。

问题
1.在JobThread中,如果执行@xxljob方法返回的handleCode小于0,handleMsg的信息是“job handle result lost.”
2.如果在问题1中设置handleCode大于0,在JobCompleteHelper.callback方法中获取XxlJobLog校验的时候,如果handleCode大于0,handleMsg的信息是“log repeate callback.”,不会将HandleCallbackParam中的信息更新到日志中

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题