mirror of
https://github.com/PowerJob/PowerJob.git
synced 2025-07-17 00:00:04 +08:00
chore: update akka to 2.6.12
This commit is contained in:
parent
daf42be5cb
commit
2e488b5837
@ -19,7 +19,7 @@
|
||||
<commons.io.version>2.6</commons.io.version>
|
||||
<guava.version>29.0-jre</guava.version>
|
||||
<okhttp.version>3.14.9</okhttp.version>
|
||||
<akka.version>2.6.4</akka.version>
|
||||
<akka.version>2.6.12</akka.version>
|
||||
<junit.version>5.6.1</junit.version>
|
||||
</properties>
|
||||
|
||||
|
@ -133,7 +133,7 @@ public class JobInfoDO {
|
||||
|
||||
/**
|
||||
* 扩展参数,PowerJob 自身不会使用该数据,留给开发者扩展时使用
|
||||
* 比如 WorkerFilter 的自定义 worker 过滤逻辑,可在次传入过滤指标 GpuUsage < 10
|
||||
* 比如 WorkerFilter 的自定义 worker 过滤逻辑,可在此传入过滤指标 GpuUsage < 10
|
||||
*/
|
||||
private String extra;
|
||||
|
||||
|
@ -5,6 +5,7 @@ import com.github.kfcfans.powerjob.server.extension.WorkerFilter;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.model.JobInfoDO;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.cluster.WorkerInfo;
|
||||
import com.google.common.collect.Sets;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@ -16,22 +17,24 @@ import java.util.Set;
|
||||
* @author tjq
|
||||
* @since 2021/2/19
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class DesignatedWorkerFilter implements WorkerFilter {
|
||||
|
||||
// min length 1.1.1.1:1
|
||||
private static final int MIN_IP_LENGTH = 9;
|
||||
private static final int MIN_ADDRESS_LENGTH = 9;
|
||||
|
||||
@Override
|
||||
public boolean filter(WorkerInfo workerInfo, JobInfoDO jobInfoDO) {
|
||||
public boolean filter(WorkerInfo workerInfo, JobInfoDO jobInfo) {
|
||||
|
||||
String designatedWorkers = jobInfoDO.getDesignatedWorkers();
|
||||
String designatedWorkers = jobInfo.getDesignatedWorkers();
|
||||
|
||||
if (StringUtils.isEmpty(designatedWorkers) || designatedWorkers.length() < MIN_IP_LENGTH) {
|
||||
if (StringUtils.isEmpty(designatedWorkers) || designatedWorkers.length() < MIN_ADDRESS_LENGTH) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Set<String> designatedWorkersSet = Sets.newHashSet(SJ.commaSplitter.splitToList(designatedWorkers));
|
||||
|
||||
return !designatedWorkersSet.contains(workerInfo.getAddress());
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package com.github.kfcfans.powerjob.server.remote.worker.cluster.filter;
|
||||
import com.github.kfcfans.powerjob.server.extension.WorkerFilter;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.model.JobInfoDO;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.cluster.WorkerInfo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
@ -11,11 +12,16 @@ import org.springframework.stereotype.Component;
|
||||
* @author tjq
|
||||
* @since 2021/2/19
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class DisconnectedWorkerFilter implements WorkerFilter {
|
||||
|
||||
@Override
|
||||
public boolean filter(WorkerInfo workerInfo, JobInfoDO jobInfoDO) {
|
||||
return workerInfo.timeout();
|
||||
public boolean filter(WorkerInfo workerInfo, JobInfoDO jobInfo) {
|
||||
boolean timeout = workerInfo.timeout();
|
||||
if (timeout) {
|
||||
log.info("[Job-{}] filter worker[{}] due to timeout(lastActiveTime={})", jobInfo.getId(), workerInfo.getAddress(), workerInfo.getLastActiveTime());
|
||||
}
|
||||
return timeout;
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import com.github.kfcfans.powerjob.common.model.SystemMetrics;
|
||||
import com.github.kfcfans.powerjob.server.extension.WorkerFilter;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.model.JobInfoDO;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.cluster.WorkerInfo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
@ -12,12 +13,17 @@ import org.springframework.stereotype.Component;
|
||||
* @author tjq
|
||||
* @since 2021/2/19
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class SystemMetricsWorkerFilter implements WorkerFilter {
|
||||
|
||||
@Override
|
||||
public boolean filter(WorkerInfo workerInfo, JobInfoDO jobInfo) {
|
||||
SystemMetrics metrics = workerInfo.getSystemMetrics();
|
||||
return !metrics.available(jobInfo.getMinCpuCores(), jobInfo.getMinMemorySpace(), jobInfo.getMinDiskSpace());
|
||||
boolean filter = !metrics.available(jobInfo.getMinCpuCores(), jobInfo.getMinMemorySpace(), jobInfo.getMinDiskSpace());
|
||||
if (filter) {
|
||||
log.info("[Job-{}] filter worker[{}] because the {} do not meet the requirements", jobInfo.getId(), workerInfo.getAddress(), workerInfo.getSystemMetrics());
|
||||
}
|
||||
return filter;
|
||||
}
|
||||
}
|
||||
|
@ -130,7 +130,7 @@ public class JobService {
|
||||
} else {
|
||||
InstanceTimeWheelService.schedule(instanceId, delay, () -> dispatchService.dispatch(jobInfo, instanceId));
|
||||
}
|
||||
log.info("[Job-{}] run job successfully, params={}, instanceId={}", jobInfo.getId(), instanceParams, instanceId);
|
||||
log.info("[Job-{}|{}] execute 'runJob' successfully, params={}", jobInfo.getId(), instanceId, instanceParams);
|
||||
return instanceId;
|
||||
}
|
||||
|
||||
|
@ -11,4 +11,4 @@ ${AnsiColor.BRIGHT_RED}
|
||||
* Maintainer: tengjiqi@gmail.com & Team PowerJob
|
||||
* OfficialWebsite: http://www.powerjob.tech/
|
||||
* SourceCode: https://github.com/PowerJob/PowerJob
|
||||
* PoweredBy: SpringBoot${spring-boot.formatted-version} & Akka (v2.6.4)
|
||||
* PoweredBy: SpringBoot${spring-boot.formatted-version} & Akka (v2.6.12)
|
||||
|
Loading…
x
Reference in New Issue
Block a user