package tech.powerjob.server.persistence.remote.model;
|
|
import tech.powerjob.common.enums.InstanceStatus;
|
import lombok.AllArgsConstructor;
|
import lombok.Data;
|
import lombok.NoArgsConstructor;
|
import org.hibernate.annotations.GenericGenerator;
|
|
import javax.persistence.*;
|
import java.util.Date;
|
|
/**
|
* 任务运行日志表
|
*
|
* @author tjq
|
* @since 2020/3/30
|
*/
|
@Data
|
@Entity
|
@NoArgsConstructor
|
@AllArgsConstructor
|
@Table(indexes = {
|
@Index(name = "idx01_instance_info", columnList = "jobId,status"),
|
@Index(name = "idx02_instance_info", columnList = "appId,status"),
|
@Index(name = "idx03_instance_info", columnList = "instanceId,status")
|
})
|
public class InstanceInfoDO {
|
|
@Id
|
@GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
|
@GenericGenerator(name = "native", strategy = "native")
|
private Long id;
|
/**
|
* 任务ID
|
*/
|
private Long jobId;
|
/**
|
* 任务所属应用的ID,冗余提高查询效率
|
*/
|
private Long appId;
|
/**
|
* 任务所属应用的ID,冗余提高查询效率
|
*/
|
private Long instanceId;
|
/**
|
* 任务参数(静态)
|
*
|
* @since 2021/2/01
|
*/
|
@Lob
|
@Column
|
private String jobParams;
|
/**
|
* 任务实例参数(动态)
|
*/
|
@Lob
|
@Column
|
private String instanceParams;
|
/**
|
* 该任务实例的类型,普通/工作流(InstanceType)
|
*/
|
private Integer type;
|
/**
|
* 该任务实例所属的 workflow ID,仅 workflow 任务存在
|
*/
|
private Long wfInstanceId;
|
/**
|
* 任务状态 {@link InstanceStatus}
|
*/
|
private Integer status;
|
/**
|
* 执行结果(允许存储稍大的结果)
|
*/
|
@Lob
|
@Column
|
private String result;
|
/**
|
* 预计触发时间
|
*/
|
private Long expectedTriggerTime;
|
/**
|
* 实际触发时间
|
*/
|
private Long actualTriggerTime;
|
/**
|
* 结束时间
|
*/
|
private Long finishedTime;
|
/**
|
* 最后上报时间
|
*/
|
private Long lastReportTime;
|
/**
|
* TaskTracker 地址
|
*/
|
private String taskTrackerAddress;
|
/**
|
* 总共执行的次数(用于重试判断)
|
*/
|
private Long runningTimes;
|
|
|
private Date gmtCreate;
|
|
private Date gmtModified;
|
|
}
|