package tech.powerjob.worker.pojo.request;
|
|
import tech.powerjob.common.PowerSerializable;
|
import tech.powerjob.worker.persistence.TaskDO;
|
import tech.powerjob.worker.pojo.model.InstanceInfo;
|
import lombok.Getter;
|
import lombok.NoArgsConstructor;
|
import lombok.Setter;
|
|
|
/**
|
* TaskTracker 派发 task 进行执行
|
*
|
* @author tjq
|
* @since 2020/3/17
|
*/
|
@Getter
|
@Setter
|
@NoArgsConstructor
|
public class TaskTrackerStartTaskReq implements PowerSerializable {
|
|
// TaskTracker 地址
|
private String taskTrackerAddress;
|
private InstanceInfo instanceInfo;
|
|
private String taskId;
|
private String taskName;
|
private byte[] taskContent;
|
// 子任务当前重试次数
|
private int taskCurrentRetryNums;
|
|
// 秒级任务专用
|
private long subInstanceId;
|
|
private String logConfig;
|
|
private String advancedRuntimeConfig;
|
|
/**
|
* 创建 TaskTrackerStartTaskReq,该构造方法必须在 TaskTracker 节点调用
|
*/
|
public TaskTrackerStartTaskReq(InstanceInfo instanceInfo, TaskDO task, String taskTrackerAddress) {
|
|
this.taskTrackerAddress = taskTrackerAddress;
|
this.instanceInfo = instanceInfo;
|
|
this.taskId = task.getTaskId();
|
this.taskName = task.getTaskName();
|
this.taskContent = task.getTaskContent();
|
|
this.taskCurrentRetryNums = task.getFailedCnt();
|
this.subInstanceId = task.getSubInstanceId();
|
|
this.logConfig = instanceInfo.getLogConfig();
|
this.advancedRuntimeConfig = instanceInfo.getAdvancedRuntimeConfig();
|
}
|
}
|