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 * @since 2.4.0
*/ */
public interface IJobExecutor { public interface IJobExecutor {
void jobExecute(JobContext jobContext); 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 com.google.common.util.concurrent.MoreExecutors;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.util.List;
import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -94,4 +95,6 @@ public abstract class AbstractJobExecutor implements IJobExecutor {
protected abstract ExecuteResult doJobExecute(JobArgs jobArgs); 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.stereotype.Component;
import org.springframework.util.ReflectionUtils; 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()); return (ExecuteResult) ReflectionUtils.invokeMethod(jobExecutorInfo.getMethod(), jobExecutorInfo.getExecutor());
} }
} }
@Override
protected void doMapExecute(List<?> taskList, String mapName) {
}
} }