Interface IScheduler

All Superinterfaces:
INodeAssignmentSentCallBack
All Known Implementing Classes:
BlacklistScheduler, DefaultScheduler, EvenScheduler, IsolationScheduler, MultitenantScheduler, ResourceAwareScheduler

public interface IScheduler extends INodeAssignmentSentCallBack
  • Method Details

    • prepare

      void prepare(Map<String,Object> conf, StormMetricsRegistry metricsRegistry)
    • schedule

      void schedule(Topologies topologies, Cluster cluster)
      Set assignments for the topologies which needs scheduling. The new assignments is available through `cluster.getAssignments()`
      Parameters:
      topologies - all the topologies in the cluster, some of them need schedule. Topologies object here only contain static information about topologies. Information like assignments, slots are all in the `cluster` object.
      cluster - the cluster these topologies are running in. `cluster` contains everything user need to develop a new scheduling logic. e.g. supervisors information, available slots, current assignments for all the topologies etc. User can set the new assignment for topologies using cluster.setAssignmentById()`
    • config

      Map config()
      This function returns the scheduler's configuration.
      Returns:
      The scheduler's configuration.
    • cleanup

      default void cleanup()
      called once when the system is shutting down, should be idempotent.