Packages
mozart
0.2.10
1.0.1
1.0.0
0.9.8
0.9.7
0.9.6
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.9
0.8.8
0.8.7
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.8
0.7.7
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.8
0.6.7
0.6.6
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Mozart is an Elixir based BPM platform. It provides a powerful and highly readable DSL for implementing executable business process models.
Current section
Files
Jump to
Current section
Files
lib/mozart/data/process_state.ex
defmodule Mozart.Data.ProcessState do
@moduledoc """
```
defstruct [
:uid,
:process_key,
:parent_pid,
:model_name,
:start_time,
:end_time,
:execute_duration,
open_tasks: %{},
completed_tasks: [],
data: %{},
complete: false
]
end
```
This struct is used to represent the state of a `Mozart.ProcessEngine` execution.
Example: (incrementally populated throughout process execution.)
```
%Mozart.Data.ProcessState{
uid: "74146e68-088e-42b6-965e-20f4d7dbae16",
process_key: "74146e68-088e-42b6-965e-20f4d7123456"
parent_pid: nil,
model_name: :call_external_service,
start_time: ~U[2024-05-27 15:22:01.847683Z],
end_time: ~U[2024-05-27 15:22:02.277273Z],
execute_duration: 429590,
open_tasks: %{},
completed_tasks: [
%{
data: %{},
function: #Function<0.23164178/1 in Mozart.ProcessModels.TestModels.call_exteral_services/0>,
name: :get_api_data,
type: :service,
next: nil,
__struct__: Mozart.Task.Service,
uid: "e3326041-d203-46b2-8141-907f71421398",
process_uid: "74146e68-088e-42b6-965e-20f4d7dbae16"
}
],
data: %{
todo_data: %{
"completed" => false,
"id" => 1,
"title" => "delectus aut autem",
"userId" => 1
}
},
complete: true
}
```
"""
defstruct [
:uid,
:process_key,
:parent_pid,
:model_name,
:start_time,
:end_time,
:execute_duration,
open_tasks: %{},
completed_tasks: [],
data: %{},
complete: false
]
end