private void doLoadLongJob(LongJobVO vo, LongJobOperation operation) {
if (operation == null) {
operation = getLoadOperation(vo);
}
if (operation == LongJobOperation.Start) {
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, null);
SQL.New(LongJobVO.class).eq(LongJobVO_.uuid, vo.getUuid()).set(LongJobVO_.state, LongJobState.Running).update();
} else if (operation == LongJobOperation.Resume) {
ThreadContext.put(Constants.THREAD_CONTEXT_API, vo.getApiId());
LongJob job = longJobFactory.getLongJob(vo.getJobName());
ThreadContext.put(Constants.THREAD_CONTEXT_TASK_NAME, job.getClass().toString());
logger.info(String.format("start to resume longjob [uuid:%s, name:%s]", vo.getUuid(), vo.getName()));
job.resume(vo);
dbf.update(vo);
}
}