Class RemoteSlotManager

java.lang.Object
net.sf.basedb.clients.jobagent.slotmanager.RemoteSlotManager
All Implemented Interfaces:
SlotManager

public class RemoteSlotManager
extends Object
implements SlotManager
Slot manager implementation that requests slots from another job agent. The other job agent should be using the MasterSlotManager. Communication between the job agents is made on the remote control port on the master job agent. Make sure that the master slot manager allows connections from this host by including it's ip address in the 'agent.remotecontrol' setting.

Configuration options for this slot manager:

  • agent.slotmanager.remote.server: The host name/ip of the master job agent
  • agent.slotmanager.remote.port: The port number of the remote control port on the master job agent.
Since:
2.16
Author:
Nicklas
Last modified
$Date: 2014-04-09 14:21:20 +0200 (on, 09 apr 2014) $
  • Field Details

    • log

      private static final org.slf4j.Logger log
    • agent

      private Agent agent
    • remoteHost

      private String remoteHost
    • remotePort

      private int remotePort
    • connectTimeout

      private int connectTimeout
    • remoteSlots

      private Map<String,​Slot> remoteSlots
    • pingerTask

      private TimerTask pingerTask
  • Constructor Details

    • RemoteSlotManager

      public RemoteSlotManager()
  • Method Details

    • init

      public void init​(Agent agent)
      Description copied from interface: SlotManager
      Initialize the slot manager. This method is called once when the job agent is starting up. The slot manager may read configuration settings, and intialize local resources.
      Specified by:
      init in interface SlotManager
      Parameters:
      agent - The job agent
    • close

      public void close()
      Description copied from interface: SlotManager
      This method is called when the job agent is shutting down. The slot manager should clean up any resources it is using.
      Specified by:
      close in interface SlotManager
    • getSlot

      public Slot getSlot​(Job job)
      Description copied from interface: SlotManager
      Get a slot for the specified job. If no free slot is available null is returned.
      Specified by:
      getSlot in interface SlotManager
      Parameters:
      job - The job that the job agent wants to execute
      Returns:
      A slot or null if no slot is available
    • releaseSlot

      public void releaseSlot​(Slot slot)
      Description copied from interface: SlotManager
      Called by the job agent when the job has finished exeuting.
      Specified by:
      releaseSlot in interface SlotManager
      Parameters:
      slot - The slot that was assigned to the job
    • pingRemoteSlots

      void pingRemoteSlots()
      Ping the the remote host with all active slots.