package com.purui.prims.dscheduler.model;

import com.purui.prims.dscheduler.enums.TaskExecuteType;
import lombok.Data;

import javax.validation.constraints.NotNull;

@Data
public class TaskRequest {

    private Integer id;

    // 编号
    private Long code;

    // 名称
    private String name;

    // 描述
    private String description;

    // 环境编号
    private Long environmentCode;

    // 延迟执行时间
    private Integer delayTime;

    // 重试间隔
    private Integer failRetryInterval;

    // 重试次数
    private Integer failRetryTimes;

    // 运行标志 yes 正常/no 禁止执行
    private String flag;

    // Cache run: yes/no
    private String isCache;

    // 任务参数 默认参数
    private DataXParams taskParams;

    @NotNull
    // 优先级
    private String taskPriority;

    // 任务类型 默认SQL
    private String taskType = "SQL";

    // 超时时间(分钟)
    private Integer timeout;

    // 超时告警
    private String timeoutFlag;

    // 超时通知策略
    private String timeoutNotifyStrategy;

    // worker分组 默认default
    private String workerGroup = "default";

    // cpu 配额 默认-1
    private Integer cpuQuota = -1;

    // 最大内存 默认-1
    private Integer memoryMax = -1;

    // 执行类型 默认BATCH
    private TaskExecuteType taskExecuteType = TaskExecuteType.BATCH;
}
