@Override
@Transactional(propagation = Propagation.NEVER)
@Scheduled(initialDelay = 10 * 1000, fixedDelay = SESSION_TIMEOUT_TASK_HEARTBEAT)
public void sessionTimeoutTask() {
if (!taskConfig.isEnableAgentSessionTimeoutTask()) {
return;
}
LOGGER.traceMarker("sessionTimeoutTask", "start");
ZonedDateTime now = DateUtil.utcNow();
for (Zone zone : zoneService.getZones()) {
Collection<Agent> agents = listForOnline(zone.getName());
for (Agent agent : agents) {
if (agent.getSessionId() != null && isSessionTimeout(agent, now, zone.getAgentSessionTimeout())) {
Cmd delSessionCmd = cmdService.create(new CmdInfo(agent.getPath(), CmdType.DELETE_SESSION, null));
cmdDispatchService.dispatch(delSessionCmd);
LOGGER.traceMarker("sessionTimeoutTask", "Send DELETE_SESSION to agent %s", agent);
}
}
}
LOGGER.traceMarker("sessionTimeoutTask", "end");
}
AgentServiceImpl.java 文件源码
java
阅读 21
收藏 0
点赞 0
评论 0
项目:flow-platform
作者:
评论列表
文章目录