|
|
@@ -1,6 +1,10 @@
|
|
|
-package cn.reghao.bnt.common.agent.machine;
|
|
|
+package cn.reghao.bnt.agent.machine;
|
|
|
|
|
|
+import cn.reghao.bnt.agent.AgentApp;
|
|
|
+import cn.reghao.bnt.agent.task.ImageCleanTask;
|
|
|
+import cn.reghao.bnt.agent.task.ProcScanTask;
|
|
|
import cn.reghao.bnt.common.agent.app.iface.AppStat;
|
|
|
+import cn.reghao.bnt.common.docker.Docker;
|
|
|
import cn.reghao.bnt.common.machine.Machine;
|
|
|
import cn.reghao.bnt.common.msg.MessageSender;
|
|
|
import cn.reghao.bnt.common.msg.event.EvtAgentHeartbeat;
|
|
|
@@ -28,14 +32,15 @@ public class MachineEvent {
|
|
|
private final AppStat appStat;
|
|
|
private final MessageSender messageSender;
|
|
|
private final int heartbeatInterval;
|
|
|
+ private final Docker docker;
|
|
|
|
|
|
- public MachineEvent(MessageSender messageSender, Machine machine, AppStat appStat,
|
|
|
- ScheduledExecutorService scheduler, int heartbeatInterval) {
|
|
|
+ public MachineEvent(MessageSender messageSender, Machine machine, AppStat appStat, int heartbeatInterval) {
|
|
|
this.messageSender = messageSender;
|
|
|
this.machine = machine;
|
|
|
this.appStat = appStat;
|
|
|
- this.scheduler = scheduler;
|
|
|
+ this.scheduler = AgentApp.scheduler;
|
|
|
this.heartbeatInterval = heartbeatInterval;
|
|
|
+ this.docker = AgentApp.docker;
|
|
|
}
|
|
|
|
|
|
public void agentStart() {
|
|
|
@@ -53,6 +58,7 @@ public class MachineEvent {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
|
|
|
+ startTask();
|
|
|
agentHeartbeat();
|
|
|
}
|
|
|
|
|
|
@@ -93,4 +99,14 @@ public class MachineEvent {
|
|
|
pub(eventMessage);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ public void startTask() {
|
|
|
+ ProcScanTask procScanTask = new ProcScanTask(messageSender, docker);
|
|
|
+ scheduler.schedule(procScanTask, 0, TimeUnit.MINUTES);
|
|
|
+ scheduler.scheduleAtFixedRate(procScanTask, 1, 8, TimeUnit.HOURS);
|
|
|
+
|
|
|
+ ImageCleanTask cleanTask = new ImageCleanTask(messageSender, docker);
|
|
|
+ scheduler.schedule(cleanTask, 1, TimeUnit.MINUTES);
|
|
|
+ scheduler.scheduleAtFixedRate(cleanTask, 2, 8, TimeUnit.HOURS);
|
|
|
+ }
|
|
|
}
|