Interface AgentRoutingService

All Known Implementing Classes:
AgentRoutingServiceCuratorDiscoveryImpl, AgentRoutingServiceSingleNodeImpl

@Validated public interface AgentRoutingService
Service that tracks agent connections on the local Genie node and provides routing information for agent connected to other nodes.
Since:
4.0.0
  • Method Details

    • getHostnameForAgentConnection

      Optional<String> getHostnameForAgentConnection(@NotBlank @NotBlank String jobId)
      Look up the hostname of the Genie node currently handling the agent connection for a given job.
      Parameters:
      jobId - the job id
      Returns:
      a boxed hostname string, empty if the connection for the given job id is not found
    • isAgentConnectionLocal

      boolean isAgentConnectionLocal(@NotBlank @NotBlank String jobId)
      Tells whether the agent running a given job is connected to the local node.
      Parameters:
      jobId - the job id
      Returns:
      true if the agent has an active connection to this node
    • handleClientConnected

      void handleClientConnected(@NotBlank @NotBlank String jobId)
      Handle a new agent connection.
      Parameters:
      jobId - the job id the connected agent is running
    • handleClientDisconnected

      void handleClientDisconnected(@NotBlank @NotBlank String jobId)
      Handle connected agent disconnection.
      Parameters:
      jobId - the job id the disconnected agent is running
    • isAgentConnected

      boolean isAgentConnected(String jobId)
      Whether the agent executing a given job is currently connected.
      Parameters:
      jobId - the job id
      Returns:
      true if an agent running the job is connected