feat(dev_1.1.0):

1、客户端完成map抽象类定义
This commit is contained in:
wodeyangzipingpingwuqi 2024-06-12 18:21:15 +08:00 committed by opensnail
parent 49eb2a0bc1
commit 93fd46001e
6 changed files with 71 additions and 0 deletions

View File

@ -11,5 +11,6 @@ import com.aizuda.snailjob.common.core.model.JobContext;
* @since 2.4.0
*/
public interface IJobExecutor {
void jobExecute(JobContext jobContext);
}

View File

@ -0,0 +1,19 @@
package com.aizuda.snailjob.client.job.core.dto;
import lombok.Data;
/**
* Task执行结果
*
* @author: opensnail
* @date : 2024-06-12 13:59
*/
@Data
public class MrTaskResult {
private String taskId;
private boolean success;
private String result;
}

View File

@ -19,6 +19,7 @@ import com.google.common.util.concurrent.ListeningExecutorService;
import com.google.common.util.concurrent.MoreExecutors;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@ -94,4 +95,6 @@ public abstract class AbstractJobExecutor implements IJobExecutor {
protected abstract ExecuteResult doJobExecute(JobArgs jobArgs);
protected abstract void doMapExecute(List<?> taskList, String mapName);
}

View File

@ -0,0 +1,24 @@
package com.aizuda.snailjob.client.job.core.executor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.CollectionUtils;
import java.util.List;
/**
* @author zhengweilin
* @version 1.0.0
* @date 2024/06/12
*/
@Slf4j
public abstract class AbstractMapExecutor extends AbstractJobExecutor {
@Override
public void doMapExecute(List<?> taskList, String mapName) {
if (CollectionUtils.isEmpty(taskList)) {
return;
}
System.out.println("TODO");
}
}

View File

@ -0,0 +1,17 @@
package com.aizuda.snailjob.client.job.core.executor;
import com.aizuda.snailjob.client.job.core.dto.MrTaskResult;
import com.aizuda.snailjob.client.model.ExecuteResult;
import com.aizuda.snailjob.common.core.model.JobContext;
import java.util.List;
/**
* @author zhengweilin
* @version 1.0.0
* @date 2024/06/12
*/
public abstract class AbstractMapReduceExecutor extends AbstractMapExecutor {
protected abstract ExecuteResult doReduceExecute(JobContext jobContext, List<MrTaskResult> mrTaskResultList);
}

View File

@ -7,6 +7,8 @@ import com.aizuda.snailjob.client.model.ExecuteResult;
import org.springframework.stereotype.Component;
import org.springframework.util.ReflectionUtils;
import java.util.List;
/**
* 基于注解的执行器
*
@ -28,4 +30,9 @@ public class AnnotationJobExecutor extends AbstractJobExecutor {
return (ExecuteResult) ReflectionUtils.invokeMethod(jobExecutorInfo.getMethod(), jobExecutorInfo.getExecutor());
}
}
@Override
protected void doMapExecute(List<?> taskList, String mapName) {
}
}