@Override
public void run(SyncTaskChain chain) {
SubmitLongJobReply reply = new SubmitLongJobReply();
LongJobVO vo = updateByUuid(msg.getJobUuid(), it -> it.setState(LongJobState.Running));
ThreadContext.put(Constants.THREAD_CONTEXT_API, vo.getApiId());
LongJob job = longJobFactory.getLongJob(vo.getJobName());
ThreadContext.put(Constants.THREAD_CONTEXT_TASK_NAME, job.getClass().toString());
doStartJob(job, vo, msg);
reply.setInventory(LongJobInventory.valueOf(vo));
if (job.getAuditType() != null) {
reply.setNeedAudit(true);
}
logger.info(String.format("longjob [uuid:%s, name:%s] has been started", vo.getUuid(), vo.getName()));
bus.reply(msg, reply);
chain.next();
}