Mozart.ProcessEngine (Mozart v0.1.11)
A ProcessEngine is dynamically spawned for the purpose of executing a Mozart.Data.ProcessModel
.
Summary
Functions
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
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
start_process(model_name, data, parent \\ 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.