package tech.powerjob.common.request; import lombok.Data; import tech.powerjob.common.PowerSerializable; import java.util.List; /** * 服务端调度任务请求(一次任务处理的入口) * * @author tjq * @since 2020/3/17 */ @Data public class ServerScheduleJobReq implements PowerSerializable { /** * 可用处理器地址,可能多值,逗号分隔 */ private List allWorkerAddress; /** * 最大机器数量 */ private Integer maxWorkerCount; /* *********************** 任务相关属性 *********************** */ /** * 任务ID,当更换Server后需要根据 JobId 重新查询任务元数据 */ private Long jobId; private Long wfInstanceId; /** * 基础信息 */ private Long instanceId; /** * 任务执行类型,单机、广播、MR */ private String executeType; /** * 处理器类型(内建,外部) */ private String processorType; /** * 处理器信息 */ private String processorInfo; /** * 整个任务的总体超时时间 */ private long instanceTimeoutMS; /** * 任务级别的参数,相当于类的static变量 */ private String jobParams; /** * 实例级别的参数,相当于类的普通变量(API触发专用,从API触发处带入) */ private String instanceParams; /** * 每台机器的处理线程数上限 */ private int threadConcurrency; /** * 子任务重试次数(任务本身的重试机制由server控制) */ private int taskRetryNum; /** * 时间表达式类型(CRON/API/FIX_RATE/FIX_DELAY) */ private String timeExpressionType; /** * 时间表达式,CRON/NULL/LONG/LONG(单位MS) */ private String timeExpression; /** * 最大同时运行任务数,默认 1 */ private Integer maxInstanceNum; /** * 告警配置 */ private String alarmConfig; /** * 日志配置 */ private String logConfig; /** * 高级运行时配置 */ private String advancedRuntimeConfig; }