Mozart.ProcessEngine (Mozart v0.2.6)
A ProcessEngine is dynamically spawned for the purpose of executing a Mozart.Data.ProcessModel
.
Summary
Functions
Complete subprocess due to a TaskExit event
Used to complete any "complete-able" open tasks. Task execution frequently spawns new open tasks. Execute will continue to as long as there are "complete-able" open tasks.
Gets the open tasks of the given process engine
Use this function to create a ProcessEngine instance initialized with the name of the process model to be executed and any initialization data. The engine will start executing tasks with the execute/1 function is called.
Functions
complete_on_task_exit_event(ppid)
Complete subprocess due to a TaskExit event
execute(ppid)
Used to complete any "complete-able" open tasks. Task execution frequently spawns new open tasks. Execute will continue to as long as there are "complete-able" open tasks.
Note: Some types of task are complete-able immediately and some are not. For example:
- A
Mozart.Task.Service
task is complete-able as soon as it is opened. - A
Mozart.Task.User
task when a user completes the task. - A
Mozart.Task.Receive
task is complete-able when a matchingMozart.Task.Send
task is received.
get_open_tasks(ppid)
Gets the open tasks of the given process engine
get_state(ppid)
start_process(model_name, data, process_key \\ nil, parent_pid \\ nil)
Use this function to create a ProcessEngine instance initialized with the name of the process model to be executed and any initialization data. The engine will start executing tasks with the execute/1 function is called.