package com.dangdang.ddframe.job.event.type;
import com.dangdang.ddframe.job.context.ExecutionType;
import com.dangdang.ddframe.job.event.JobEvent;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import java.util.Date;
import java.util.UUID;
/**
* 作业状态痕迹事件.
*
* @author caohao
*/
@RequiredArgsConstructor
@AllArgsConstructor
@Getter
public final class JobStatusTraceEvent implements JobEvent {
private String id = UUID.randomUUID().toString();
private final String jobName;
@Setter
private String originalTaskId = "";
private final String taskId;
private final String slaveId;
private final Source source;
private final ExecutionType executionType;
private final String shardingItems;
private final State state;
private final String message;
private Date creationTime = new Date();
public enum State {
TASK_STAGING, TASK_RUNNING, TASK_FINISHED, TASK_KILLED, TASK_LOST, TASK_FAILED, TASK_ERROR
}
public enum Source {
CLOUD_SCHEDULER, CLOUD_EXECUTOR, LITE_EXECUTOR
}
}