Trait

com.coxautodata.waimak.dataflow

DataFlowExecutor

Related Doc: package dataflow

Permalink

trait DataFlowExecutor extends Logging

Created by Alexei Perelighin on 11/01/18.

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

Abstract Value Members

  1. abstract def flowReporter: FlowReporter

    Permalink

    Used to report events on the flow.

  2. abstract def initActionScheduler(): ActionScheduler

    Permalink

    Action scheduler used to run actions

  3. abstract def priorityStrategy: priorityStrategy

    Permalink

    A complex data flow has lots of parallel, diverging and converging actions, lots of the actions could be started in parallel, but certain actions if started earlier could lead to quicker end to end execution of all of the flows and various strategies could lead to it.

    A complex data flow has lots of parallel, diverging and converging actions, lots of the actions could be started in parallel, but certain actions if started earlier could lead to quicker end to end execution of all of the flows and various strategies could lead to it. This strategy will always be applied to a set of actions to schedule regardless of the scheduler implementation.

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 execute[A <: DataFlow[A]](dataFlow: A, errorOnUnexecutedActions: Boolean = true): (Seq[DataFlowAction], A)

    Permalink

    Executes as many actions as possible with the given DAG, stops when no more actions can be executed.

    Executes as many actions as possible with the given DAG, stops when no more actions can be executed.

    dataFlow

    initial state with actions to execute and set inputs from previous actions

    errorOnUnexecutedActions

    whether to throw an exception if some actions on the flow did not execute. Default is true

    returns

    (Seq[EXECUTED ACTIONS], FINAL STATE). Final state does not contain the executed actions and the outputs of the executed actions are now in the inputs

  9. def finalize(): Unit

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

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

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

    Permalink
    Definition Classes
    Any
  13. def isTraceEnabled(): Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  14. def logAndReturn[A](a: A, msg: String, level: Level): A

    Permalink

    Takes a value of type A and a msg to log, returning a and logging the message at the desired level

    Takes a value of type A and a msg to log, returning a and logging the message at the desired level

    returns

    a

    Definition Classes
    Logging
  15. def logAndReturn[A](a: A, message: (A) ⇒ String, level: Level): A

    Permalink

    Takes a value of type A and a function message from A to String, logs the value of invoking message(a) at the level described by the level parameter

    Takes a value of type A and a function message from A to String, logs the value of invoking message(a) at the level described by the level parameter

    returns

    a

    Definition Classes
    Logging
    Example:
    1. logAndReturn(1, (num: Int) => s"number: $num", Info)
      // In the log we would see a log corresponding to "number 1"
  16. def logDebug(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  17. def logDebug(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  18. def logError(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  19. def logError(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  20. def logInfo(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  21. def logInfo(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  22. def logName: String

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  23. def logTrace(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  24. def logTrace(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  25. def logWarning(msg: ⇒ String, throwable: Throwable): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  26. def logWarning(msg: ⇒ String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  27. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  28. def nextActionToSchedule[A <: DataFlow[A]](currentFlow: A, actionScheduler: ActionScheduler): Option[(String, DataFlowAction)]

    Permalink

    Determines which execution pool to schedule in and an action to schedule into it.

    Determines which execution pool to schedule in and an action to schedule into it. Decision depends on: 1) slots available in the pools 2) actions available for the pools with slots 3) priority strategy that will select and change the order of the available actions

    returns

    (Pool into which to schedule, Action to schedule)

    Attributes
    protected[com.coxautodata.waimak.dataflow]
  29. final def notify(): Unit

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  36. def waitForAnActionToFinish[A <: DataFlow[A]](currentFlow: A, actionScheduler: ActionScheduler, successfulActions: Seq[DataFlowAction]): Try[(A, ActionScheduler, Seq[DataFlowAction])]

    Permalink

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped