package com.hubspot.baragon.agent.workers;
import com.google.inject.Inject;
import com.hubspot.baragon.agent.config.LoadBalancerConfiguration;
import com.hubspot.baragon.data.BaragonKnownAgentsDatastore;
import com.hubspot.baragon.models.BaragonAgentMetadata;
public class AgentHeartbeatWorker implements Runnable {
private final BaragonKnownAgentsDatastore knownAgentsDatastore;
private final BaragonAgentMetadata baragonAgentMetadata;
private final LoadBalancerConfiguration loadBalancerConfiguration;
@Inject
public AgentHeartbeatWorker(BaragonKnownAgentsDatastore knownAgentsDatastore,
BaragonAgentMetadata baragonAgentMetadata,
LoadBalancerConfiguration loadBalancerConfiguration) {
this.knownAgentsDatastore = knownAgentsDatastore;
this.baragonAgentMetadata = baragonAgentMetadata;
this.loadBalancerConfiguration = loadBalancerConfiguration;
}
@Override
public void run() {
knownAgentsDatastore.updateKnownAgentLastSeenAt(loadBalancerConfiguration.getName(), baragonAgentMetadata.getAgentId(), System.currentTimeMillis());
}
}