ark

Scheduler

class Scheduler[T <: SchedulerState[T]] extends org.apache.mesos.Scheduler

Thread safe implementation of org.apache.mesos.Scheduler based on scalaz streams. Every call to the Scheduler interface is enqueued and process one at a time.

User is required to implement and provide oncue.mesos.SchedulerStateManager. Users are expected to implement CustomMessage's to trigger state mutation events in their state managers. CustomMessage's can be passed into processMessage by providing scalaz.stream.Processes in the customEvents param passed to init function.

This class also implements reconciliation algorithm as an additional message in the queue. User can pass Scheduler.reconcileProcess to init function to trigger reconciliation in periodic intervals or define custom reconciliation triggers. User must also provide list of tasks that it expects to be running, all offers will be declined until state for all tasks has been received.

Linear Supertypes
org.apache.mesos.Scheduler, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Scheduler
  2. Scheduler
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Scheduler(stateManager: SchedulerStateManager[T])

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def disconnected(driver: SchedulerDriver): Unit

    Definition Classes
    Scheduler → Scheduler
  9. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  11. def error(driver: SchedulerDriver, message: String): Unit

    Definition Classes
    Scheduler → Scheduler
  12. def executorLost(driver: SchedulerDriver, executorId: ExecutorID, slaveId: SlaveID, status: Int): Unit

    Definition Classes
    Scheduler → Scheduler
  13. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. def frameworkMessage(driver: SchedulerDriver, executorId: ExecutorID, slaveId: SlaveID, data: Array[Byte]): Unit

    Definition Classes
    Scheduler → Scheduler
  15. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  16. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  17. def init(state: T, driver: SchedulerDriver, customEvents: Seq[Process[Task, CustomMessage]]): Task[Unit]

    state

    initial state

    driver

    SchedulerDriver

    customEvents

    Seq[ Process[ Task, CustomMessage ] ] Processes that generate custom messages to trigger state mutation events in the manager. These need to managed my SchedulerStateManager implementation in the processCustomMessage(msg: CustomMessage) function.

  18. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  19. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  20. final def notify(): Unit

    Definition Classes
    AnyRef
  21. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  22. def offerRescinded(driver: SchedulerDriver, offerId: OfferID): Unit

    Definition Classes
    Scheduler → Scheduler
  23. def processMessage(initialState: T, initialReconcileState: ReconcileState): Process1[MesosMessage, Unit]

  24. def registered(driver: SchedulerDriver, frameworkId: FrameworkID, masterInfo: MasterInfo): Unit

    Definition Classes
    Scheduler → Scheduler
  25. def reregistered(driver: SchedulerDriver, masterInfo: MasterInfo): Unit

    Definition Classes
    Scheduler → Scheduler
  26. def resourceOffers(driver: SchedulerDriver, offers: List[Offer]): Unit

    Definition Classes
    Scheduler → Scheduler
  27. def shutdown(driver: SchedulerDriver, failover: Boolean = false): Unit

    graceful shutdown

    graceful shutdown

    driver

    SchedulerDriver

    failover

    see SchedulerDriver.stop docs

  28. def slaveLost(driver: SchedulerDriver, slaveId: SlaveID): Unit

    Definition Classes
    Scheduler → Scheduler
  29. def statusUpdate(driver: SchedulerDriver, status: TaskStatus): Unit

    Definition Classes
    Scheduler → Scheduler
  30. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  31. def toString(): String

    Definition Classes
    AnyRef → Any
  32. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from org.apache.mesos.Scheduler

Inherited from AnyRef

Inherited from Any

Ungrouped