mirror of
https://github.com/PowerJob/PowerJob.git
synced 2025-07-17 00:00:04 +08:00
feat: add WorkerHeartbeatEvent
This commit is contained in:
parent
519213ad4a
commit
b6de5aa563
@ -19,6 +19,8 @@ import tech.powerjob.server.core.handler.impl.WorkerRequestHttpHandler;
|
|||||||
import tech.powerjob.server.core.instance.InstanceLogService;
|
import tech.powerjob.server.core.instance.InstanceLogService;
|
||||||
import tech.powerjob.server.core.instance.InstanceManager;
|
import tech.powerjob.server.core.instance.InstanceManager;
|
||||||
import tech.powerjob.server.core.workflow.WorkflowInstanceManager;
|
import tech.powerjob.server.core.workflow.WorkflowInstanceManager;
|
||||||
|
import tech.powerjob.server.monitor.events.handler.WorkerHeartbeatEvent;
|
||||||
|
import tech.powerjob.server.monitor.monitors.ServerMonitor;
|
||||||
import tech.powerjob.server.persistence.remote.model.ContainerInfoDO;
|
import tech.powerjob.server.persistence.remote.model.ContainerInfoDO;
|
||||||
import tech.powerjob.server.persistence.remote.model.JobInfoDO;
|
import tech.powerjob.server.persistence.remote.model.JobInfoDO;
|
||||||
import tech.powerjob.server.persistence.remote.repository.ContainerInfoRepository;
|
import tech.powerjob.server.persistence.remote.repository.ContainerInfoRepository;
|
||||||
@ -45,6 +47,8 @@ import java.util.stream.Collectors;
|
|||||||
@Component
|
@Component
|
||||||
public class WorkerRequestHandler {
|
public class WorkerRequestHandler {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ServerMonitor serverMonitor;
|
||||||
@Resource
|
@Resource
|
||||||
private Environment environment;
|
private Environment environment;
|
||||||
@Resource
|
@Resource
|
||||||
@ -74,6 +78,11 @@ public class WorkerRequestHandler {
|
|||||||
* @param heartbeat 心跳包
|
* @param heartbeat 心跳包
|
||||||
*/
|
*/
|
||||||
public void onReceiveWorkerHeartbeat(WorkerHeartbeat heartbeat) {
|
public void onReceiveWorkerHeartbeat(WorkerHeartbeat heartbeat) {
|
||||||
|
|
||||||
|
WorkerHeartbeatEvent event = new WorkerHeartbeatEvent();
|
||||||
|
BeanUtils.copyProperties(heartbeat, event);
|
||||||
|
serverMonitor.record(event.setScore(heartbeat.getSystemMetrics().getScore()));
|
||||||
|
|
||||||
WorkerClusterManagerService.updateStatus(heartbeat);
|
WorkerClusterManagerService.updateStatus(heartbeat);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,38 @@
|
|||||||
|
package tech.powerjob.server.monitor.events.handler;
|
||||||
|
|
||||||
|
import lombok.Setter;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
import tech.powerjob.server.common.SJ;
|
||||||
|
import tech.powerjob.server.monitor.Event;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* worker 心跳事件监控
|
||||||
|
*
|
||||||
|
* @author tjq
|
||||||
|
* @since 2022/9/9
|
||||||
|
*/
|
||||||
|
@Setter
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class WorkerHeartbeatEvent implements Event {
|
||||||
|
|
||||||
|
private String appName;
|
||||||
|
|
||||||
|
private String version;
|
||||||
|
|
||||||
|
private String protocol;
|
||||||
|
|
||||||
|
private String tag;
|
||||||
|
private String workerAddress;
|
||||||
|
|
||||||
|
private Integer score;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String type() {
|
||||||
|
return "MONITOR_LOGGER_WORKER_HEART_BEAT";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String message() {
|
||||||
|
return SJ.MONITOR_JOINER.join(appName, version, protocol, tag, workerAddress, score);
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user