BPXE.Engine.Process (bpxe v0.4.0)
Link to this section Summary
Functions
Returns a specification to start this module under a supervisor.
Convenience helper for adding and connecting sequence flow programmatically.
Callback implementation for GenServer.init/1
.
Publishes a process log to listeners.
Passively listen for log messages from a process. This will start delivering tokens in the following format
Stop receiving passive log messages from a process (initiated by subscribe_logs/2
). If you were not listening
originally, it will return {:error, :not_listening}
. Otherwise, it will return :ok
.
Link to this section Functions
activations(pid)
add_ad_hoc_sub_process(pid, attrs, body \\ nil)
add_boundary_event(pid, attrs, body \\ nil)
add_business_rule_task(pid, attrs, body \\ nil)
add_call_activity(pid, attrs, body \\ nil)
add_call_choreography(pid, attrs, body \\ nil)
add_choreography_task(pid, attrs, body \\ nil)
add_complex_gateway(pid, attrs, body \\ nil)
add_data_object(pid, attrs, body \\ nil)
add_data_object_reference(pid, attrs, body \\ nil)
add_data_store_reference(pid, attrs, body \\ nil)
add_end_event(pid, attrs, body \\ nil)
add_event(pid, attrs, body \\ nil)
add_event_based_gateway(pid, attrs, body \\ nil)
add_exclusive_gateway(pid, attrs, body \\ nil)
add_implicit_throw_event(pid, attrs, body \\ nil)
add_inclusive_gateway(pid, attrs, body \\ nil)
add_intermediate_catch_event(pid, attrs, body \\ nil)
add_intermediate_throw_event(pid, attrs, body \\ nil)
add_manual_task(pid, attrs, body \\ nil)
add_parallel_gateway(pid, attrs, body \\ nil)
add_precedence_gateway(pid, attrs, body \\ nil)
add_receive_task(pid, attrs, body \\ nil)
add_script_task(pid, attrs, body \\ nil)
add_send_task(pid, attrs, body \\ nil)
add_sensor_gateway(pid, attrs, body \\ nil)
add_sequence_flow(pid, attrs, body \\ nil)
add_service_task(pid, attrs, body \\ nil)
add_start_event(pid, attrs, body \\ nil)
add_sub_choreography(pid, attrs, body \\ nil)
add_sub_process(pid, attrs, body \\ nil)
add_task(pid, attrs, body \\ nil)
add_transaction(pid, attrs, body \\ nil)
add_user_task(pid, attrs, body \\ nil)
child_spec(init_arg)
Returns a specification to start this module under a supervisor.
See Supervisor
.
complete_flow_element(arg1, body, state)
data_object(pid, name)
data_object_reference(pid, name)
enter_loop(state)
establish_sequence_flow(server, id, source, target, attrs \\ [])
Convenience helper for adding and connecting sequence flow programmatically.
Instead of having to to orchestrate BPXE.Engine.FlowNode.add_incoming/2
,
BPXE.Engine.FlowNode.add_outgoing/2
and add_sequence_flow/3
, this allows
to do all of that in just one call.
This reduces the amount of code that has to be written and therefore makes it easier to debug.
flow_nodes(pid)
get_input_data(id, state)
get_output_data(id, state)
id(pid)
init(arg)
Callback implementation for GenServer.init/1
.
init_recoverable(state)
initialize(state)
initialize_base(state)
initialize_property_container(state)
log(pid, log)
Specs
Publishes a process log to listeners.
new_activation(pid)
sequence_flows(pid)
set_input_data(id, value, token, state)
set_output_data(id, value, token, state)
start(pid)
start(pid, id)
start_link(attrs, model)
subscribe_log(pid, subscriber \\ self())
Specs
Passively listen for log messages from a process. This will start delivering tokens in the following format:
{BPXE.Engine.Process.Log, message}
to subscriber
(self()
by default). Most (if not all?) log message should be defined in
BPXE.Engine.Process.Log
module.
This is particularly useful for testing, rendering visualizations, etc.
to stop listening, call unsubscribe_log/2
.
synthesize(pid)
unsubscribe_log(pid, subscriber \\ self())
Specs
Stop receiving passive log messages from a process (initiated by subscribe_logs/2
). If you were not listening
originally, it will return {:error, :not_listening}
. Otherwise, it will return :ok
.