Packages
mozart
0.2.7
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/task/receive.ex
defmodule Mozart.Task.Receive do
@moduledoc """
Used to model a task that waits for a PubSub message. Functional but needs
some work.
Example:
```
%ProcessModel{
name: :process_with_receive_task,
tasks: [
%Receive{
name: :receive_task,
message_selector: fn msg ->
case msg do
:message -> %{message: true}
_ -> false
end
end
}
],
initial_task: :receive_task
},
%ProcessModel{
name: :process_with_single_send_task,
tasks: [
%Send{
name: :send_task,
message: :message
},
],
initial_task: :send_task
}
```
"""
defstruct [
:name,
:function,
:next,
:uid,
:message_selector,
:start_time,
:finish_time,
:duration,
complete: false,
data: %{},
type: :receive
]
end