TaskUtils.java 1.09 KB
package com.viontech.fanxing.task.utils;

import com.viontech.fanxing.commons.constant.TaskStatus;
import com.viontech.fanxing.commons.model.Task;
import org.apache.commons.lang3.StringUtils;

/**
 * .
 *
 * @author 谢明辉
 * @date 2021/12/21
 */
@SuppressWarnings("ALL")
public enum TaskUtils {
    INSTANCE;

    /**
     * 判断任务是否可以执行
     * 没有场景存储配置,状态是停止或未部署的都不能运行
     */
    public boolean canRun(Task task) {
        return StringUtils.isNotBlank(task.getScene())
                && task.getStoreConfigId() != null
                && !TaskStatus.AWAIT.valEqual(task.getStatus())
                && !TaskStatus.STOP.valEqual(task.getStatus());
    }

    /**
     * 判断任务是否需要被重新构建
     *
     * @param original 之前的任务信息
     * @param present  现在的任务信息
     */
    public boolean needRebuild(Task original, Task present) {
        return (!original.getRuntimeConf().equals(present.getRuntimeConf()))
                || (!original.getStoreConfigId().equals(present.getStoreConfigId()));
    }
}