public static boolean jobCompleted(LongJobVO vo) { return completedStates.contains(vo.getState()); }
private void setStateWhenFail(LongJobVO vo, ErrorCode errorCode) { if (Arrays.asList(LongJobState.Canceling, LongJobState.Canceled).contains(vo.getState()) || errorCode.isError(LongJobErrors.CANCELED)){ vo.setState(LongJobState.Canceled); } else if (vo.getState() != LongJobState.Suspended) { vo.setState(LongJobState.Failed); } } });
private void validate(APIRerunLongJobMsg msg) { LongJobVO vo = Q.New(LongJobVO.class) .eq(LongJobVO_.uuid, msg.getUuid()) .find(); LongJobState state = vo.getState(); if (state != LongJobState.Succeeded && state != LongJobState.Canceled && state != LongJobState.Failed) { throw new ApiMessageInterceptionException(argerr("rerun longjob only when it's succeeded, canceled, or failed")); } Class<APIMessage> apiClass = apiMsgOfLongJob.get(vo.getJobName()); APIMessage jobMsg = JSONObjectUtil.toObject(vo.getJobData(), apiClass); jobMsg.setSession(msg.getSession()); try { apiMediator.getProcesser().process(jobMsg); // may throw ApiMessageInterceptionException } catch (StopRoutingException e) { APISubmitLongJobEvent evt = new APISubmitLongJobEvent(msg.getId()); evt.setInventory(LongJobInventory.valueOf(vo)); evt.setNeedAudit(false); bus.publish(evt); throw e; } dbf.updateAndRefresh(vo); }
public LongJobInventory(LongJobVO vo) { this.setUuid(vo.getUuid()); this.setName(vo.getName()); this.setState(vo.getState()); this.setApiId(vo.getApiId()); this.setJobData(vo.getJobData()); this.setJobResult(vo.getJobResult()); this.setJobName(vo.getJobName()); this.setCreateDate(vo.getCreateDate()); this.setLastOpDate(vo.getLastOpDate()); this.setExecuteTime(vo.getExecuteTime()); this.setDescription(vo.getDescription()); this.setTargetResourceUuid(vo.getTargetResourceUuid()); this.setManagementNodeUuid(vo.getManagementNodeUuid()); }