Trait

com.coxautodata.waimak.dataflow

ActionScheduler

Related Doc: package dataflow

Permalink

trait ActionScheduler extends AnyRef

Defines functions that are specific to scheduling tasks, evaluating which execution pools are available and signaling back which actions have finished their execution.

Created by Alexei Perelighin on 2018/07/06

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ActionScheduler
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def availableExecutionPools: Option[Set[String]]

    Permalink

    finds execution pools that have slots to run actions.

    finds execution pools that have slots to run actions.

    returns

    None if none of the pools are available for scheduling and Some(Set[AVAILABLE POOL NAME]) - all pools that are available for scheduling

  2. abstract def dropRunning(poolNames: Set[String], from: Seq[DataFlowAction]): Seq[DataFlowAction]

    Permalink

    Removes actions that are already running in the specified set pools.

    Removes actions that are already running in the specified set pools.

    poolNames

    pool names to which the from actions belong to

    from

    list of actions from poolNames that DataFlow knows have not been marked as executed and can be scheduled

    returns

    list of actions that are not currently running

  3. abstract def hasRunningActions: Boolean

    Permalink

    Checks if there are actions running at all, regardless of the execution pool.

    Checks if there are actions running at all, regardless of the execution pool.

    returns

    true if at least one action is running in any of the pools

  4. abstract def schedule(poolName: String, action: DataFlowAction, entities: DataFlowEntities, flowContext: FlowContext, flowReporter: FlowReporter): ActionScheduler

    Permalink

    Submits action into the specified execution pool.

    Submits action into the specified execution pool.

    poolName

    pool into which to schedule the action

    action

    action to schedule

    entities

    action labels that have data

    flowContext

    object that allows access to the context of the flow and application

    flowReporter

    object that is used to signal start and end of the action execution

  5. abstract def shutDown(): Try[ActionScheduler]

    Permalink

    Executors must call it before exiting the execution of the flow to release resources.

  6. abstract def waitToFinish(flowContext: FlowContext, flowReporter: FlowReporter): (ActionScheduler, Seq[(DataFlowAction, Try[ActionResult])])

    Permalink

    Locks and waits for at least one action to finish running, can return more than one action if they have finished and their results are available.

    Locks and waits for at least one action to finish running, can return more than one action if they have finished and their results are available.

    flowContext

    object that allows access to the context of the flow and application

    flowReporter

    object that is used to signal start and end of the action execution

Concrete Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

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

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

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

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  16. def toString(): String

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped