-
Notifications
You must be signed in to change notification settings - Fork 51
Database Schema
Table nflow_workflow contains one row for each workflow instance.
| Field | Description |
|---|---|
| id | Primary key |
| status | The status of the workflow instance, see values below |
| type | Type of workflow |
| business_key | Business key |
| external_id | External identifier of the workflow instance (must be unique within type and executor_group) |
| state | Current state |
| state_text | Reason why current state was set |
| next_activation | Time when next processing is scheduled. If null, no processing is scheduled |
| executor_id | Executor that is currently processing the workflow |
| retries | Number of retries in current state |
| created | Time when this row was created |
| modified | Time when this row was last modified |
| started | Time when the processing of the first state started |
| executor_group | Executor group |
| root_workflow_id | The root workflow id of workflow hierarchy this child workflow is part of. Null for root workflows. Removed in 7.0.0. |
| parent_workflow_id | The id of the parent workflow of this child workflow. Null for root workflows. |
| parent_action_id | The id of the action that created this child workflow. Null for root workflows. |
| external_next_activation | Next activation time set by some external process (e.g. not the nFlow engine) |
| workflow_signal | Signal value for this instance. The meaning of different values depends on workflow definition. The value is not used by nFlow Engine. |
| priority | Execution priority. Instances with higher priority value (and next activation time not in future) are selected for execution before instances with lower priority value. |
| Status | Description |
|---|---|
| created | Instance has been created but never processed yet |
| inProgress | Instance has been processed at least once and it is scheduled for processing |
| executing | Instance is currently being processed by nFlow |
| manual | Instance is in manual state and it will not be processed by nFlow unless it is manually updated |
| finished | Instance is in end state, processing has been completed by nFlow |
Table nflow_workflow_action contains one row for each state transition that has happened.
| Field | Description |
|---|---|
| id | Primary key |
| workflow_id | Reference to workflow instance |
| executor_id | Executor that processed the workflow state |
| type | The type of the action, see values below |
| state | Name of the state |
| state_text | Description of action taken in this state |
| retry_no | Retry count |
| execution_start | Time when state processing started |
| execution_end | Time when state processing finished |
| Type | Description |
|---|---|
| stateExecution | Normal state execution by nFlow |
| stateExecutionFailed | State execution by nFlow that resulted in a failure |
| externalChange | Workflow instance was updated externally, for example via REST API |
| recovery | Workflow instance was recovered by nFlow after a failure in the node that was processing it |
Table nflow_workflow_state contains state information. State variables are stored here.
| Field | Description |
|---|---|
| workflow_id | Reference to workflow instance |
| action_id | Reference to action |
| state_key | Name of state variable |
| state_value | Value of state variable |
Table nflow_executor is used to keep track which nflow executors are currently operational. If a nflow executor instance is detected to be non operational, any workflows under processing by that executor may be claimed by other, functional executors.
| Field | Description |
|---|---|
| id | Primary key |
| host | Name of host where executor is running. |
| pid | Process id (PID) for executor. |
| executor_group | Executor group for executor. |
| started | Time when executor was starter. |
| active | Time when executor last marked itself active. |
| expires | Time when executor can be considered to be non-operational. |
Table nflow_workflow_definition contains the workflow definitions.
| Field | Description |
|---|---|
| type | The type of the definition |
| definition_sha1 | The checksum of the definition |
| definition | The serialized representation of the definition |
| created | The time when this row was created |
| modified | The time when this row was updated |
| modified_by | The ID of the executor that modified this row |
| executor_group | The executor group this definition belongs to |
Archived workflow instances. See nflow_workflow for column details.
Archived workflow actions. See nflow_workflow_action for column details.
Archived workflow state information. See nflow_workflow_state for column details.