8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/ruby_reactor/map/execution.rb', line 8
def self.perform(arguments)
arguments = arguments.transform_keys(&:to_sym)
storage = RubyReactor.configuration.storage_adapter
parent_context = load_parent_context_from_storage(
arguments[:parent_context_id], arguments[:parent_reactor_class_name], storage
)
reactor_class = resolve_reactor_class(arguments[:reactor_class_info])
inputs = ContextSerializer.deserialize_value(arguments[:serialized_inputs])
results = execute_all_elements(
source: inputs[:source], mappings: inputs[:mappings],
reactor_class: reactor_class, parent_context: parent_context,
storage_options: {
map_id: arguments[:map_id], storage: storage,
parent_reactor_class_name: arguments[:parent_reactor_class_name],
strict_ordering: arguments[:strict_ordering],
fail_fast: arguments[:fail_fast]
}
)
finalize_execution(results, parent_context, arguments[:step_name], arguments[:parent_reactor_class_name],
storage)
end
|