Class

pt.tecnico.dsi.akkastrator.TaskBundle

InnerOrchestrator

Related Doc: package TaskBundle

Permalink

class InnerOrchestrator extends Orchestrator

TODO: what to do when a task of the inner orchestrator aborts? abort the inner orchestrator and consequently the TaskBundle?

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. InnerOrchestrator
  2. Orchestrator
  3. AbstractOrchestrator
  4. IdImplicits
  5. ActorLogging
  6. AtLeastOnceDelivery
  7. AtLeastOnceDeliveryLike
  8. PersistentActor
  9. Eventsourced
  10. PersistenceRecovery
  11. PersistenceIdentity
  12. PersistenceStash
  13. StashFactory
  14. Stash
  15. RequiresMessageQueue
  16. UnrestrictedStash
  17. StashSupport
  18. Snapshotter
  19. Actor
  20. AnyRef
  21. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new InnerOrchestrator()

    Permalink

Type Members

  1. final type ID = DeliveryId

    Permalink
    Definition Classes
    OrchestratorAbstractOrchestrator
  2. type Receive = PartialFunction[Any, Unit]

    Permalink
    Definition Classes
    Actor
  3. final type S = State

    Permalink
    Definition Classes
    OrchestratorAbstractOrchestrator

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 ID2DeliveryId(destination: ActorPath, id: Long): DeliveryId

    Permalink

    Converts ID to the deliveryId needed for the confirmDelivery method of akka-persistence.

    Converts ID to the deliveryId needed for the confirmDelivery method of akka-persistence.

    Attributes
    protected[pt.tecnico.dsi.akkastrator]
    Definition Classes
    OrchestratorAbstractOrchestrator
  5. def aroundPostRestart(reason: Throwable): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Eventsourced → Actor
  6. def aroundPostStop(): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    AtLeastOnceDeliveryLike → Eventsourced → Actor
  7. def aroundPreRestart(reason: Throwable, message: Option[Any]): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    AtLeastOnceDeliveryLike → Eventsourced → Actor
  8. def aroundPreStart(): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Eventsourced → Actor
  9. def aroundReceive(receive: Receive, message: Any): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    AtLeastOnceDeliveryLike → Eventsourced → Actor
  10. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. def confirmDelivery(deliveryId: Long): Boolean

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  13. implicit val context: ActorContext

    Permalink
    Definition Classes
    Actor
  14. def deferAsync[A](event: A)(handler: (A) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Eventsourced
  15. def deleteMessages(toSequenceNr: Long): Unit

    Permalink
    Definition Classes
    Eventsourced
  16. def deleteSnapshot(sequenceNr: Long): Unit

    Permalink
    Definition Classes
    Snapshotter
  17. def deleteSnapshots(criteria: SnapshotSelectionCriteria): Unit

    Permalink
    Definition Classes
    Snapshotter
  18. def deliver(destination: ActorSelection)(deliveryIdToMessage: (Long) ⇒ Any): Unit

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  19. def deliver(destination: ActorPath)(deliveryIdToMessage: (Long) ⇒ Any): Unit

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  20. final def deliveryId2ID(destination: ActorPath, deliveryId: DeliveryId): DeliveryId

    Permalink

    In a simple orchestrator the same sequence (of the akka-persistence) is used for all the destinations of the orchestrator.

    In a simple orchestrator the same sequence (of the akka-persistence) is used for all the destinations of the orchestrator. Because of this, ID = DeliveryId, and matchId only checks the deliveryId as that will be enough information to disambiguate which task should handle the response.

    Attributes
    protected[pt.tecnico.dsi.akkastrator]
    Definition Classes
    OrchestratorAbstractOrchestrator
  21. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  23. def extraCommands: Receive

    Permalink

    Override this method to add extra commands that are always handled by this orchestrator (except when recovering).

    Override this method to add extra commands that are always handled by this orchestrator (except when recovering).

    Definition Classes
    InnerOrchestratorAbstractOrchestrator
  24. def finalize(): Unit

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

    Permalink
    Definition Classes
    AnyRef → Any
  26. def getDeliverySnapshot: AtLeastOnceDeliverySnapshot

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  27. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  28. def internalStashOverflowStrategy: StashOverflowStrategy

    Permalink
    Definition Classes
    PersistenceStash
  29. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  30. def journalPluginId: String

    Permalink
    Definition Classes
    PersistenceIdentity
  31. def lastSequenceNr: Long

    Permalink
    Definition Classes
    Eventsourced
  32. def loadSnapshot(persistenceId: String, criteria: SnapshotSelectionCriteria, toSequenceNr: Long): Unit

    Permalink
    Definition Classes
    Snapshotter
  33. def log: LoggingAdapter

    Permalink
    Definition Classes
    ActorLogging
  34. implicit def longToCorrelationId(l: Long): CorrelationId

    Permalink
    Definition Classes
    IdImplicits
  35. implicit def longToDeliveryId(l: Long): DeliveryId

    Permalink
    Definition Classes
    IdImplicits
  36. def matchId(task: Task[_], id: Long): Boolean

    Permalink
    Attributes
    protected[pt.tecnico.dsi.akkastrator]
    Definition Classes
    OrchestratorAbstractOrchestrator
  37. def maxUnconfirmedMessages: Int

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  38. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  41. def numberOfUnconfirmed: Int

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  42. def onAbort(instigator: Task[_], message: Any, tasks: Map[TaskState, Seq[Task[_]]]): Unit

    Permalink

    User overridable callback.

    User overridable callback. Its called when a task instigates an abort. By default logs that the Orchestrator has aborted then stops it.

    instigator

    the task that instigated the abort.

    message

    the message that caused the abort.

    tasks

    Map with the tasks states at the moment of abort.

    Definition Classes
    AbstractOrchestrator
    Note

    if you invoke become/unbecome inside this method, the contract that states "Tasks that are waiting will remain untouched and the orchestrator will still be prepared to handle their responses" will no longer be guaranteed.

  43. def onFinish(): Unit

    Permalink

    User overridable callback.

    User overridable callback. Its called once every task finishes. By default logs that the Orchestrator has finished then stops it.

    You can use this to implement your termination strategy.

    An Orchestrator without tasks never finishes.

    Definition Classes
    InnerOrchestratorAbstractOrchestrator
  44. def onPersistFailure(cause: Throwable, event: Any, seqNr: Long): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Eventsourced
  45. def onPersistRejected(cause: Throwable, event: Any, seqNr: Long): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Eventsourced
  46. def onRecoveryFailure(cause: Throwable, event: Option[Any]): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Eventsourced
  47. implicit final val orchestrator: AbstractOrchestrator

    Permalink
    Definition Classes
    AbstractOrchestrator
  48. final def orchestratorCommand: akka.actor.Actor.Receive

    Permalink
    Definition Classes
    AbstractOrchestrator
  49. def persist[A](event: A)(handler: (A) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Eventsourced
  50. def persistAll[A](events: Seq[A])(handler: (A) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Eventsourced
  51. def persistAllAsync[A](events: Seq[A])(handler: (A) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Eventsourced
  52. def persistAsync[A](event: A)(handler: (A) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Eventsourced
  53. def persistenceId: String

    Permalink
    Definition Classes
    InnerOrchestrator → PersistenceIdentity
  54. def postRestart(reason: Throwable): Unit

    Permalink
    Definition Classes
    Actor
    Annotations
    @throws( classOf[java.lang.Exception] )
  55. def postStop(): Unit

    Permalink
    Definition Classes
    UnrestrictedStash → Actor
  56. def preRestart(reason: Throwable, message: Option[Any]): Unit

    Permalink
    Definition Classes
    UnrestrictedStash → Actor
  57. def preStart(): Unit

    Permalink
    Definition Classes
    Actor
    Annotations
    @throws( classOf[java.lang.Exception] )
  58. def receive: Receive

    Permalink
    Definition Classes
    PersistentActor → Actor
  59. final def receiveCommand: akka.actor.Actor.Receive

    Permalink
    Definition Classes
    AbstractOrchestrator → Eventsourced
  60. def receiveRecover: Receive

    Permalink
    Definition Classes
    InnerOrchestratorAbstractOrchestrator → Eventsourced
  61. def recovery: Recovery

    Permalink
    Definition Classes
    PersistenceRecovery
  62. def recoveryFinished: Boolean

    Permalink
    Definition Classes
    Eventsourced
  63. def recoveryRunning: Boolean

    Permalink
    Definition Classes
    Eventsourced
  64. def redeliverInterval: FiniteDuration

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  65. def redeliveryBurstLimit: Int

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  66. final def restart(): Unit

    Permalink

    Will cause the orchestrator to restart.

    Will cause the orchestrator to restart. That is every task will become Unstarted and a StartReadyTasks will be sent to this orchestrator.

    Restart can only be invoked if all tasks have finished or a task caused an abort. If there is a task that is still waiting invoking this method will throw an exception.

    Definition Classes
    AbstractOrchestrator
  67. def saveSnapshot(snapshot: Any): Unit

    Permalink
    Definition Classes
    Snapshotter
  68. def saveSnapshotRoughlyEveryXMessages: Int

    Permalink

    Roughly every X messages a snapshot will be saved.

    Roughly every X messages a snapshot will be saved. Set to 0 to disable automatic saving of snapshots. By default this method returns the value defined in the configuration.

    This is just a rough value because the orchestrator will not save it in the snapshots. In fact it will not save it at all. Instead the value of lastSequenceNr will be used to estimate how many messages have been processed.

    You can trigger a save snapshot manually by sending a SaveSnapshot message to this orchestrator.

    Definition Classes
    AbstractOrchestrator
  69. implicit final val self: ActorRef

    Permalink
    Definition Classes
    Actor
  70. final def sender(): ActorRef

    Permalink
    Definition Classes
    Actor
  71. def setDeliverySnapshot(snapshot: AtLeastOnceDeliverySnapshot): Unit

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  72. val settings: Settings

    Permalink
    Definition Classes
    AbstractOrchestrator
  73. def snapshotPluginId: String

    Permalink
    Definition Classes
    PersistenceIdentity
  74. def snapshotSequenceNr: Long

    Permalink
    Definition Classes
    Eventsourced → Snapshotter
  75. def snapshotterId: String

    Permalink
    Definition Classes
    Eventsourced → Snapshotter
  76. def startTasks(): Unit

    Permalink

    User overridable callback.

    User overridable callback. Its called when recovery completes to start the Tasks. By default logs that the orchestrator started and sends it the StartReadyTasks message.

    You can override this to prevent the Orchestrator from starting right away. However that strategy will only be effective the first time the orchestrator starts, that is, if this orchestrator restarts with one task already finished, then that task will send the StartReadyTasks so that tasks that depend on it can start.

    Definition Classes
    InnerOrchestratorAbstractOrchestrator
  77. def stash(): Unit

    Permalink
    Definition Classes
    StashSupport
  78. final def state: S

    Permalink
    Definition Classes
    AbstractOrchestrator
  79. final def state_=(state: S): Unit

    Permalink
    Definition Classes
    AbstractOrchestrator
  80. def supervisorStrategy: SupervisorStrategy

    Permalink
    Definition Classes
    Actor
  81. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  82. val taskColors: Vector[String]

    Permalink
    Definition Classes
    AbstractOrchestrator
  83. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  84. def unhandled(message: Any): Unit

    Permalink
    Definition Classes
    Eventsourced → Actor
  85. def unstashAll(): Unit

    Permalink
    Definition Classes
    Eventsourced → StashSupport
  86. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  89. def warnAfterNumberOfUnconfirmedAttempts: Int

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  90. def withLoggingPrefix(task: Task[_], message: ⇒ String): String

    Permalink

Deprecated Value Members

  1. def persist[A](events: Seq[A])(handler: (A) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Eventsourced
    Annotations
    @deprecated
    Deprecated

    (Since version 2.4) use persistAll instead

  2. def persistAsync[A](events: Seq[A])(handler: (A) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Eventsourced
    Annotations
    @deprecated
    Deprecated

    (Since version 2.4) use persistAllAsync instead

Inherited from Orchestrator

Inherited from AbstractOrchestrator

Inherited from IdImplicits

Inherited from ActorLogging

Inherited from AtLeastOnceDelivery

Inherited from AtLeastOnceDeliveryLike

Inherited from PersistentActor

Inherited from Eventsourced

Inherited from PersistenceRecovery

Inherited from PersistenceIdentity

Inherited from PersistenceStash

Inherited from StashFactory

Inherited from Stash

Inherited from UnrestrictedStash

Inherited from StashSupport

Inherited from Snapshotter

Inherited from Actor

Inherited from AnyRef

Inherited from Any

Ungrouped