9
通过自定义参数设置了一个错误的json,导致执行器执行时抛出异常。并且一直在回调这错误的message给调度中心。
version 2.1.2 我期望它仅回调一次。 无限制的回调通过自定义参数设置了一个错误的json,导致执行器执行时抛出异常。并且一直在回调这错误的message给调度中心。
version 2.1.2 我期望它仅回调一次。 无限制的回调目前定位到确实是执行器一直在向调度器发送callback请求,具体原因排查中
问题跟踪到了,是重试机制导致的。重试这块是否做下优化?有一些没必要的重试(如我遇到的执行器参数解析异常,重试就进入了一个死循环)是否可以忽略? @xuxueli
/**
* do callback, will retry if error
* @param callbackParamList
*/
private void doCallback(List<HandleCallbackParam> callbackParamList){
boolean callbackRet = false;
// callback, will retry if error
for (AdminBiz adminBiz: XxlJobExecutor.getAdminBizList()) {
try {
ReturnT<String> callbackResult = adminBiz.callback(callbackParamList);
if (callbackResult!=null && ReturnT.SUCCESS_CODE == callbackResult.getCode()) {
callbackLog(callbackParamList, "<br>----------- xxl-job job callback finish.");
callbackRet = true;
break;
} else {
callbackLog(callbackParamList, "<br>----------- xxl-job job callback fail, callbackResult:" + callbackResult);
}
} catch (Exception e) {
callbackLog(callbackParamList, "<br>----------- xxl-job job callback error, errorMsg:" + e.getMessage());
}
}
// 我打算把这块逻辑放到异常里面处理
if (!callbackRet) {
appendFailCallbackFile(callbackParamList);
}
}
改为对异常走重试是否更友好一点?是否可以增加重试的次数配置? @xuxueli
fixed it.at see https://github.com/xuxueli/xxl-job/pull/1526