Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/temporal/activity/poller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ def poll_for_task
rescue StandardError => error
Temporal.logger.error("Unable to poll activity task queue", { namespace: namespace, task_queue: task_queue, error: error.inspect })

Temporal::ErrorHandler.handle(error)
Temporal::ErrorHandler.handle(error, config)

nil
end
Expand Down
6 changes: 3 additions & 3 deletions lib/temporal/activity/task_processor.rb
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ def process
# Do not complete asynchronous activities, these should be completed manually
respond_completed(result) unless context.async?
rescue StandardError, ScriptError => error
Temporal::ErrorHandler.handle(error, metadata: metadata)
Temporal::ErrorHandler.handle(error, config, metadata: metadata)

respond_failed(error)
ensure
Expand Down Expand Up @@ -76,7 +76,7 @@ def respond_completed(result)
rescue StandardError => error
Temporal.logger.error("Unable to complete Activity", metadata.to_h.merge(error: error.inspect))

Temporal::ErrorHandler.handle(error, metadata: metadata)
Temporal::ErrorHandler.handle(error, config, metadata: metadata)
end

def respond_failed(error)
Expand All @@ -90,7 +90,7 @@ def respond_failed(error)
rescue StandardError => error
Temporal.logger.error("Unable to fail Activity task", metadata.to_h.merge(error: error.inspect))

Temporal::ErrorHandler.handle(error, metadata: metadata)
Temporal::ErrorHandler.handle(error, config, metadata: metadata)
end
end
end
Expand Down
4 changes: 2 additions & 2 deletions lib/temporal/error_handler.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
module Temporal
module ErrorHandler
def self.handle(error, metadata: nil)
Temporal.configuration.error_handlers.each do |handler|
def self.handle(error, configuration, metadata: nil)
configuration.error_handlers.each do |handler|
handler.call(error, metadata: metadata)
rescue StandardError => e
Temporal.logger.error("Error handler failed", { error: e.inspect })
Expand Down
4 changes: 2 additions & 2 deletions lib/temporal/testing/local_workflow_context.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
module Temporal
module Testing
class LocalWorkflowContext
attr_reader :metadata
attr_reader :metadata, :config

def initialize(execution, workflow_id, run_id, disabled_releases, metadata, config = Temporal.configuration)
@last_event_id = 0
Expand Down Expand Up @@ -188,7 +188,7 @@ def cancel(target, cancelation_id)

private

attr_reader :execution, :run_id, :workflow_id, :disabled_releases, :config
attr_reader :execution, :run_id, :workflow_id, :disabled_releases

def completed!
@completed = true
Expand Down
2 changes: 1 addition & 1 deletion lib/temporal/workflow.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ def self.execute_in_context(context, input)
Temporal.logger.error("Workflow execution failed", context.metadata.to_h.merge(error: error.inspect))
Temporal.logger.debug(error.backtrace.join("\n"))

Temporal::ErrorHandler.handle(error, metadata: context.metadata)
Temporal::ErrorHandler.handle(error, context.config, metadata: context.metadata)

context.fail(error)
ensure
Expand Down
4 changes: 2 additions & 2 deletions lib/temporal/workflow/context.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
module Temporal
class Workflow
class Context
attr_reader :metadata
attr_reader :metadata, :config

def initialize(state_manager, dispatcher, workflow_class, metadata, config)
@state_manager = state_manager
Expand Down Expand Up @@ -258,7 +258,7 @@ def cancel(target, cancelation_id)

private

attr_reader :state_manager, :dispatcher, :workflow_class, :config
attr_reader :state_manager, :dispatcher, :workflow_class

def completed!
@completed = true
Expand Down
2 changes: 1 addition & 1 deletion lib/temporal/workflow/poller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ def poll_for_task
connection.poll_workflow_task_queue(namespace: namespace, task_queue: task_queue)
rescue StandardError => error
Temporal.logger.error("Unable to poll Workflow task queue", { namespace: namespace, task_queue: task_queue, error: error.inspect })
Temporal::ErrorHandler.handle(error)
Temporal::ErrorHandler.handle(error, config)

nil
end
Expand Down
4 changes: 2 additions & 2 deletions lib/temporal/workflow/task_processor.rb
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ def process

complete_task(commands)
rescue StandardError => error
Temporal::ErrorHandler.handle(error, metadata: metadata)
Temporal::ErrorHandler.handle(error, config, metadata: metadata)

fail_task(error)
ensure
Expand Down Expand Up @@ -110,7 +110,7 @@ def fail_task(error)
rescue StandardError => error
Temporal.logger.error("Unable to fail Workflow task", metadata.to_h.merge(error: error.inspect))

Temporal::ErrorHandler.handle(error, metadata: metadata)
Temporal::ErrorHandler.handle(error, config, metadata: metadata)
end
end
end
Expand Down
6 changes: 3 additions & 3 deletions spec/unit/lib/temporal/activity/task_processor_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
Fabricate(
:api_activity_task,
activity_name: activity_name,
input: Temporal.configuration.converter.to_payloads(input)
input: config.converter.to_payloads(input)
)
end
let(:metadata) { Temporal::Metadata.generate(Temporal::Metadata::ACTIVITY_TYPE, task) }
Expand Down Expand Up @@ -70,7 +70,7 @@
reported_error = nil
reported_metadata = nil

Temporal.configuration.on_error do |error, metadata: nil|
config.on_error do |error, metadata: nil|
reported_error = error
reported_metadata = metadata.to_h
end
Expand Down Expand Up @@ -187,7 +187,7 @@
reported_error = nil
reported_metadata = nil

Temporal.configuration.on_error do |error, metadata: nil|
config.on_error do |error, metadata: nil|
reported_error = error
reported_metadata = metadata
end
Expand Down
4 changes: 2 additions & 2 deletions spec/unit/lib/temporal/workflow/task_processor_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
reported_error = nil
reported_metadata = nil

Temporal.configuration.on_error do |error, metadata: nil|
config.on_error do |error, metadata: nil|
reported_error = error
reported_metadata = metadata
end
Expand Down Expand Up @@ -154,7 +154,7 @@
reported_error = nil
reported_metadata = nil

Temporal.configuration.on_error do |error, metadata: nil|
config.on_error do |error, metadata: nil|
reported_error = error
reported_metadata = metadata
end
Expand Down