package tech.powerjob.worker.common.constants; import com.google.common.collect.Sets; import lombok.AllArgsConstructor; import lombok.Getter; import java.util.Set; /** * 任务状态,task_info 表中 status 字段的枚举值 * * @author tjq * @since 2020/3/17 */ @Getter @AllArgsConstructor public enum TaskStatus { WAITING_DISPATCH(1, "等待调度器调度", "dispatching"), DISPATCH_SUCCESS_WORKER_UNCHECK(2, "调度成功(但不保证worker收到)", "unreceived"), WORKER_RECEIVED(3, "worker接收成功,但未开始执行", "received"), WORKER_PROCESSING(4, "worker正在执行", "running"), WORKER_PROCESS_FAILED(5, "worker执行失败", "failed"), WORKER_PROCESS_SUCCESS(6, "worker执行成功", "succeed"); public static final Set FINISHED_STATUS = Sets.newHashSet(WORKER_PROCESS_FAILED.value, WORKER_PROCESS_SUCCESS.value); private final int value; private final String des; private final String simplyDesc; public static TaskStatus of(int v) { for (TaskStatus taskStatus : values()) { if (v == taskStatus.value) { return taskStatus; } } throw new IllegalArgumentException("no TaskStatus match the value of " + v); } }