package tech.powerjob.server.persistence.remote.model;
|
|
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/5/26
|
*/
|
@Data
|
@Entity
|
@NoArgsConstructor
|
@AllArgsConstructor
|
@Table(
|
uniqueConstraints = {@UniqueConstraint(name = "uidx01_wf_instance", columnNames = {"wfInstanceId"})},
|
indexes = {
|
@Index(name = "idx01_wf_instance", columnList = "workflowId,status"),
|
@Index(name = "idx01_wf_instance", columnList = "appId,status,expectedTriggerTime")
|
}
|
)
|
public class WorkflowInstanceInfoDO {
|
|
@Id
|
@GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
|
@GenericGenerator(name = "native", strategy = "native")
|
private Long id;
|
/**
|
* 任务所属应用的ID,冗余提高查询效率
|
*/
|
private Long appId;
|
/**
|
* workflowInstanceId(任务实例表都使用单独的ID作为主键以支持潜在的分表需求)
|
*/
|
private Long wfInstanceId;
|
/**
|
* 上层工作流实例 ID (用于支持工作流嵌套)
|
*/
|
private Long parentWfInstanceId;
|
|
private Long workflowId;
|
/**
|
* workflow 状态(WorkflowInstanceStatus)
|
*/
|
private Integer status;
|
/**
|
* 工作流启动参数
|
*/
|
@Lob
|
@Column
|
private String wfInitParams;
|
/**
|
* 工作流上下文
|
*/
|
@Lob
|
@Column
|
private String wfContext;
|
|
@Lob
|
@Column
|
private String dag;
|
|
@Lob
|
@Column
|
private String result;
|
/**
|
* 预计触发时间
|
*/
|
private Long expectedTriggerTime;
|
/**
|
* 实际触发时间
|
*/
|
private Long actualTriggerTime;
|
/**
|
* 结束时间
|
*/
|
private Long finishedTime;
|
|
private Date gmtCreate;
|
|
private Date gmtModified;
|
}
|