The behavior of this task.
The behavior of this task. This is akin to the receive method of an actor, except for the fact that an all catching pattern match will cause the orchestrator to fail. For example:
def behavior = Receive { case m => //Some code }
This will cause the orchestrator to fail because the messages won't be handled by the correct tasks.
The constructor of the message to be sent.
The ActorPath to whom this task will send the message(s).
Causes this task and its orchestrator to abort.
Causes this task and its orchestrator to abort. This will have the following effects:
Aborted.
2. Every unstarted task that depends on this one will never be started. This will happen because a task can
only start if its dependencies have finished and this task did not finish.
3. Waiting tasks will be untouched and the orchestrator will still be prepared to handle their responses.
4. The method onFinish will never be called. Similarly to the unstarted tasks, onFinish will only
be invoked if all tasks have finished and this task did not finish.
5. The method onAbort will be invoked in the orchestrator.
whether this task state is Unstarted and all its dependencies have finished.
Finishes this task, which implies:
Finishes this task, which implies:
Finishing an already finished task will throw an exception.
the message which prompted the finish.
the id obtained from the message.
The result of this task. A task will only have a result if it is finished.
the current state of this Task.
The immutable TaskReport of this task.
A task corresponds to sending a message to an actor, handling its response and possibly mutate the internal state of the Orchestrator.
The answer(s) to the sent message must be handled in
behavior.behaviormust invokefinishwhen no further processing is necessary orterminateEarlyif the received message will prevent subsequent tasks from executing properly.The pattern matching inside
behaviormust invokematchIdto ensure the received message is in fact the one that this task its waiting to receive.The internal state of the orchestrator might be mutated inside
behavior.This class is very tightly coupled with Orchestrator and the reverse is also true. Because of this you can only create instances of Task inside an orchestrator.