public boolean test()

in src/main/java/com/aliyun/cloudops/acs/ecs/controller/OpsTaskController.java [137:168]


    public boolean test(Invocation invocation) {
        if (invocation == null) {
            return false;
        }
        for (InvokeInstance instance : invocation.getInvokeInstances()) {
            if (isFinished(instance.getInvocationStatus())) {
                OpsTaskItem item = this.taskService.findTaskItem(
                        invocation.getInvokeId(),
                        instance.getInstanceId()
                );
                if (!item.getStatus().isFinished()) {
                    item.setStatus(InvocationStatus.valueOf(instance.getInvocationStatus()));
                    item.setOutput(instance.getOutput());
                    item.setDropped(instance.getDropped());
                    item.setExitCode(instance.getExitCode());
                    item.setErrorCode(instance.getErrorCode());
                    item.setErrorInfo(instance.getErrorInfo());
                    item.setUpdateTime(new Date());
                    item.setFinishTime(new Date());
                    this.taskService.saveTaskItem(item);
                }
            }
        }
        if (isFinished(invocation.getInvocationStatus())) {
            OpsTask task = this.taskService.findTask(invocation.getInvokeId());
            task.setFinishTime(new Date()); //TODO: use invocation.getFinishTime();
            task.setStatus(InvocationStatus.valueOf(invocation.getInvocationStatus()));
            this.taskService.saveTask(task, Collections.emptyList());
            return true;
        }
        return false;
    }