Difference between revisions of "Mistral/terminology and model"
(→Target task) |
(→Workbook) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | === | + | === Workflow === |
− | Describes a graph of all possible tasks, valid transitions between them, actions associated with the tasks | + | Describes a graph of all possible tasks, valid transitions between them, actions associated with the tasks. |
− | + | === Mistral DSL === | |
DSL stands for Domain Specific Language. | DSL stands for Domain Specific Language. | ||
Line 9: | Line 9: | ||
[[Mistral/DSL|Mistral DSL specification]] | [[Mistral/DSL|Mistral DSL specification]] | ||
− | |||
− | |||
=== Workflow Execution === | === Workflow Execution === | ||
A particular execution. That is, for the given task graph and chosen task the service should perform all required actions (subtasks) in order to complete this task. All transitions must be compliant to allowed configured transitions in the task graph. | A particular execution. That is, for the given task graph and chosen task the service should perform all required actions (subtasks) in order to complete this task. All transitions must be compliant to allowed configured transitions in the task graph. | ||
+ | |||
+ | A workflow execution can be in a number of predefined states reflecting its current status: | ||
+ | :* RUNNING - workflow is currently being executed. | ||
+ | :* PAUSED - workflow is paused. | ||
+ | :* SUCCESS - workflow has finished successfully. | ||
+ | :* ERROR - workflow has finished with an error. | ||
+ | |||
=== Task === | === Task === | ||
− | Defines a | + | Defines a workflow execution step. It has a state and result. |
− | + | ||
− | + | ==== Task state ==== | |
− | === Task state === | ||
A task can be in a number of predefined states reflecting its current status: | A task can be in a number of predefined states reflecting its current status: | ||
:* IDLE - task dependencies are not satisfied. | :* IDLE - task dependencies are not satisfied. | ||
Line 23: | Line 27: | ||
:* SUCCESS - task has finished successfully. | :* SUCCESS - task has finished successfully. | ||
:* ERROR - task has finished with an error. All the actual task states belonging to current execution are persisted in DB. | :* ERROR - task has finished with an error. All the actual task states belonging to current execution are persisted in DB. | ||
− | === | + | |
− | + | === Action === | |
+ | A particular instruction associated with a task that needs to be performed once the task runs. It can be a anything like running a shell script, HTTP request, AMQP message or any signal sent to any system external to Mistral. Actions can be synchronous or asynchronous. In case of asynchronous action Mistral will send a signal and will be waiting for a corresponding action result to be delivered back to Mistral. |
Latest revision as of 11:33, 16 April 2015
Workflow
Describes a graph of all possible tasks, valid transitions between them, actions associated with the tasks.
Mistral DSL
DSL stands for Domain Specific Language.
Mistral DSL is a simple workflow definition language based on YAML format:
Workflow Execution
A particular execution. That is, for the given task graph and chosen task the service should perform all required actions (subtasks) in order to complete this task. All transitions must be compliant to allowed configured transitions in the task graph.
A workflow execution can be in a number of predefined states reflecting its current status:
- RUNNING - workflow is currently being executed.
- PAUSED - workflow is paused.
- SUCCESS - workflow has finished successfully.
- ERROR - workflow has finished with an error.
Task
Defines a workflow execution step. It has a state and result.
Task state
A task can be in a number of predefined states reflecting its current status:
- IDLE - task dependencies are not satisfied.
- RUNNING - task is currently being executed.
- SUCCESS - task has finished successfully.
- ERROR - task has finished with an error. All the actual task states belonging to current execution are persisted in DB.
Action
A particular instruction associated with a task that needs to be performed once the task runs. It can be a anything like running a shell script, HTTP request, AMQP message or any signal sent to any system external to Mistral. Actions can be synchronous or asynchronous. In case of asynchronous action Mistral will send a signal and will be waiting for a corresponding action result to be delivered back to Mistral.