in src/jetbrains/buildserver/agentInfo/AgentSystemInfo.java [33:65]
public AgentSystemInfo(@NotNull final BuildAgentConfiguration config,
@NotNull final BuildAgent agent,
@NotNull final EventDispatcher<AgentLifeCycleListener> events) {
myConfig = config;
final ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor(new NamedDeamonThreadFactory("agent-info recent updates pool"));
final Runnable action = ExceptionUtil.catchAll("update free space", new Runnable() {
public void run() {
if (agent.isRunning()) return;
publishFreeSpace();
}
});
events.addListener(new AgentLifeCycleAdapter(){
@Override
public void pluginsLoaded() {
publishStaticParameters();
service.scheduleWithFixedDelay(action, 0, parseRefreshTimeout(), TimeUnit.SECONDS);
}
@Override
public void runnerFinished(@NotNull BuildRunnerContext runner, @NotNull BuildFinishedStatus status) {
publishFreeSpace();
}
@Override
public void agentShutdown() {
service.shutdown();
}
});
}