@Override protected void executeInternal(JobExecutionContext context) throws JobExecutionException { JobKey jobKey = context.getTrigger().getJobKey(); XxlJobInfo jobInfo = DynamicSchedulerUtil.xxlJobInfoDao.load(jobKey.getGroup(), jobKey.getName()); // save log XxlJobLog jobLog = new XxlJobLog(); jobLog.setJobGroup(jobInfo.getJobGroup()); jobLog.setJobName(jobInfo.getJobName()); jobLog.setJobCron(jobInfo.getJobCron()); jobLog.setJobDesc(jobInfo.getJobDesc()); jobLog.setJobClass(jobInfo.getJobClass()); DynamicSchedulerUtil.xxlJobLogDao.save(jobLog); logger.info(">>>>>>>>>>> xxl-job trigger start, jobId:{}", jobLog.getId()); // trigger request HashMap<String, String> params = new HashMap<String, String>(); params.put(HandlerParamEnum.TIMESTAMP.name(), String.valueOf(System.currentTimeMillis())); params.put(HandlerParamEnum.ACTION.name(), ActionEnum.RUN.name()); params.put( HandlerParamEnum.LOG_ADDRESS.name(), XxlJobLogCallbackServer.getTrigger_log_address()); params.put(HandlerParamEnum.LOG_ID.name(), String.valueOf(jobLog.getId())); params.put(HandlerParamEnum.EXECUTOR_HANDLER.name(), jobInfo.getExecutorHandler()); params.put(HandlerParamEnum.EXECUTOR_PARAMS.name(), jobInfo.getExecutorParam()); params.put(HandlerParamEnum.GLUE_SWITCH.name(), String.valueOf(jobInfo.getGlueSwitch())); params.put(HandlerParamEnum.JOB_GROUP.name(), jobInfo.getJobGroup()); params.put(HandlerParamEnum.JOB_NAME.name(), jobInfo.getJobName()); // failover trigger RemoteCallBack callback = failoverTrigger(jobInfo.getExecutorAddress(), params, jobLog); jobLog.setExecutorHandler( jobInfo.getGlueSwitch() == 0 ? jobInfo.getExecutorHandler() : "GLUE任务"); jobLog.setExecutorParam(jobInfo.getExecutorParam()); logger.info( ">>>>>>>>>>> xxl-job failoverTrigger response, jobId:{}, callback:{}", jobLog.getId(), callback); // update trigger info jobLog.setTriggerTime(new Date()); jobLog.setTriggerStatus(callback.getStatus()); jobLog.setTriggerMsg(callback.getMsg()); DynamicSchedulerUtil.xxlJobLogDao.updateTriggerInfo(jobLog); // monitor triger JobMonitorHelper.monitor(jobLog.getId()); logger.info(">>>>>>>>>>> xxl-job trigger end, jobId:{}", jobLog.getId()); }