Class: Resque::Mcp::Tools::GetFailure

Inherits:
Base
  • Object
show all
Defined in:
lib/resque/mcp/tools/get_failure.rb

Constant Summary

Constants inherited from Base

Base::ARGS_FULL_MAX, Base::ARGS_PREVIEW_MAX, Base::BACKTRACE_MAX_FRAMES, Base::ERROR_TRUNCATE_MAX, Base::LIMIT_MAX

Class Method Summary collapse

Class Method Details

.call(index:, server_context:, queue: nil) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/resque/mcp/tools/get_failure.rb', line 20

def self.call(index:, server_context:, queue: nil, **)
  record = adapter(server_context).failure(index, queue: queue)
  backtrace, omitted = capped_backtrace(record.backtrace)
  success_response({
    index: record.index,
    failed_at: record.failed_at,
    queue: record.queue,
    class: record.job.class_name,
    args: full_args(record.job),
    exception: record.exception,
    error: record.error,
    backtrace: backtrace,
    backtrace_omitted: omitted,
    worker: record.worker,
    retried_at: record.retried_at
  }, server_context)
rescue Adapter::FailureOutOfRangeError, Adapter::FailureQueueRequiredError, ArgumentError => e
  error_response(e.message)
end