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.InstanceManager;
|
||||
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.JobInfoDO;
|
||||
import tech.powerjob.server.persistence.remote.repository.ContainerInfoRepository;
|
||||
@ -45,6 +47,8 @@ import java.util.stream.Collectors;
|
||||
@Component
|
||||
public class WorkerRequestHandler {
|
||||
|
||||
@Resource
|
||||
private ServerMonitor serverMonitor;
|
||||
@Resource
|
||||
private Environment environment;
|
||||
@Resource
|
||||
@ -74,6 +78,11 @@ public class WorkerRequestHandler {
|
||||
* @param heartbeat 心跳包
|
||||
*/
|
||||
public void onReceiveWorkerHeartbeat(WorkerHeartbeat heartbeat) {
|
||||
|
||||
WorkerHeartbeatEvent event = new WorkerHeartbeatEvent();
|
||||
BeanUtils.copyProperties(heartbeat, event);
|
||||
serverMonitor.record(event.setScore(heartbeat.getSystemMetrics().getScore()));
|
||||
|
||||
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