mirror of
https://github.com/PowerJob/PowerJob.git
synced 2025-07-17 00:00:04 +08:00
feat: remove all spring dependencies in powerjob-worker
This commit is contained in:
parent
8e96fdacc6
commit
3892c38785
@ -1,11 +1,15 @@
|
||||
package tech.powerjob.worker.core.processor.runnable;
|
||||
|
||||
import com.google.common.base.Stopwatch;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import tech.powerjob.common.enums.ExecuteType;
|
||||
import tech.powerjob.worker.common.WorkerRuntime;
|
||||
import tech.powerjob.common.serialize.SerializerUtils;
|
||||
import tech.powerjob.worker.common.ThreadLocalStore;
|
||||
import tech.powerjob.worker.common.WorkerRuntime;
|
||||
import tech.powerjob.worker.common.constants.TaskConstant;
|
||||
import tech.powerjob.worker.common.constants.TaskStatus;
|
||||
import tech.powerjob.common.serialize.SerializerUtils;
|
||||
import tech.powerjob.worker.common.utils.TransportUtils;
|
||||
import tech.powerjob.worker.common.utils.WorkflowContextUtils;
|
||||
import tech.powerjob.worker.core.processor.ProcessResult;
|
||||
@ -20,11 +24,6 @@ import tech.powerjob.worker.log.OmsLogger;
|
||||
import tech.powerjob.worker.persistence.TaskDO;
|
||||
import tech.powerjob.worker.pojo.model.InstanceInfo;
|
||||
import tech.powerjob.worker.pojo.request.ProcessorReportTaskStatusReq;
|
||||
import com.google.common.base.Stopwatch;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@ -105,8 +104,11 @@ public class HeavyProcessorRunnable implements Runnable {
|
||||
|
||||
private TaskContext constructTaskContext() {
|
||||
TaskContext taskContext = new TaskContext();
|
||||
BeanUtils.copyProperties(task, taskContext);
|
||||
taskContext.setJobId(instanceInfo.getJobId());
|
||||
taskContext.setInstanceId(task.getInstanceId());
|
||||
taskContext.setSubInstanceId(task.getSubInstanceId());
|
||||
taskContext.setTaskId(task.getTaskId());
|
||||
taskContext.setTaskName(task.getTaskName());
|
||||
taskContext.setMaxRetryTimes(instanceInfo.getTaskRetryNum());
|
||||
taskContext.setCurrentRetryTimes(task.getFailedCnt());
|
||||
taskContext.setJobParams(instanceInfo.getJobParams());
|
||||
@ -120,7 +122,7 @@ public class HeavyProcessorRunnable implements Runnable {
|
||||
}
|
||||
|
||||
private WorkflowContext constructWorkflowContext() {
|
||||
return new WorkflowContext(instanceInfo.getWfInstanceId(),instanceInfo.getInstanceParams());
|
||||
return new WorkflowContext(instanceInfo.getWfInstanceId(), instanceInfo.getInstanceParams());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2,7 +2,6 @@ package tech.powerjob.worker.core.tracker.task;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import tech.powerjob.common.enums.InstanceStatus;
|
||||
import tech.powerjob.common.model.InstanceDetail;
|
||||
import tech.powerjob.common.request.ServerScheduleJobReq;
|
||||
@ -61,7 +60,20 @@ public abstract class TaskTracker {
|
||||
this.instanceId = req.getInstanceId();
|
||||
|
||||
this.instanceInfo = new InstanceInfo();
|
||||
BeanUtils.copyProperties(req, instanceInfo);
|
||||
|
||||
// PowerJob 值拷贝场景不多,引入三方值拷贝类库可能引入类冲突等问题,综合评估手写 ROI 最高
|
||||
instanceInfo.setJobId(req.getJobId());
|
||||
instanceInfo.setInstanceId(req.getInstanceId());
|
||||
instanceInfo.setWfInstanceId(req.getWfInstanceId());
|
||||
instanceInfo.setExecuteType(req.getExecuteType());
|
||||
instanceInfo.setProcessorType(req.getProcessorType());
|
||||
instanceInfo.setProcessorInfo(req.getProcessorInfo());
|
||||
instanceInfo.setJobParams(req.getJobParams());
|
||||
instanceInfo.setInstanceParams(req.getInstanceParams());
|
||||
instanceInfo.setThreadConcurrency(req.getThreadConcurrency());
|
||||
instanceInfo.setTaskRetryNum(req.getTaskRetryNum());
|
||||
instanceInfo.setLogConfig(req.getLogConfig());
|
||||
|
||||
// 特殊处理超时时间
|
||||
if (instanceInfo.getInstanceTimeoutMS() <= 0) {
|
||||
instanceInfo.setInstanceTimeoutMS(Integer.MAX_VALUE);
|
||||
@ -94,7 +106,12 @@ public abstract class TaskTracker {
|
||||
log.warn("[TaskTracker-{}] create TaskTracker from request({}) failed.", req.getInstanceId(), req, e);
|
||||
// 直接发送失败请求
|
||||
TaskTrackerReportInstanceStatusReq response = new TaskTrackerReportInstanceStatusReq();
|
||||
BeanUtils.copyProperties(req, response);
|
||||
|
||||
response.setAppId(workerRuntime.getAppId());
|
||||
response.setJobId(req.getJobId());
|
||||
response.setInstanceId(req.getInstanceId());
|
||||
response.setWfInstanceId(req.getWfInstanceId());
|
||||
|
||||
response.setInstanceStatus(InstanceStatus.FAILED.getV());
|
||||
response.setResult(String.format("init TaskTracker failed, reason: %s", e.toString()));
|
||||
response.setReportTime(System.currentTimeMillis());
|
||||
|
@ -8,7 +8,6 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder;
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import tech.powerjob.common.enums.ExecuteType;
|
||||
import tech.powerjob.common.enums.InstanceStatus;
|
||||
import tech.powerjob.common.enums.TimeExpressionType;
|
||||
@ -135,10 +134,14 @@ public class FrequentTaskTracker extends HeavyTaskTracker {
|
||||
List<InstanceDetail.SubInstanceDetail> history = Lists.newLinkedList();
|
||||
recentSubInstanceInfo.forEach((subId, subInstanceInfo) -> {
|
||||
InstanceDetail.SubInstanceDetail subDetail = new InstanceDetail.SubInstanceDetail();
|
||||
BeanUtils.copyProperties(subInstanceInfo, subDetail);
|
||||
|
||||
subDetail.setSubInstanceId(subId);
|
||||
subDetail.setStartTime(subInstanceInfo.getStartTime());
|
||||
subDetail.setFinishedTime(subInstanceInfo.getFinishedTime());
|
||||
subDetail.setResult(subInstanceInfo.getResult());
|
||||
|
||||
InstanceStatus status = InstanceStatus.of(subInstanceInfo.status);
|
||||
subDetail.setStatus(status.getV());
|
||||
subDetail.setSubInstanceId(subId);
|
||||
|
||||
history.add(subDetail);
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user