{
"job_id": "9b6ca687-3dc7-4938-9a52-e44ba9c61abe",
"locale": "en",
"priority": null,
"timezone": "UTC",
"arguments": [
"error_five_times"
],
"job_class": "ExampleJob",
"executions": 5,
"queue_name": "default",
"enqueued_at": "2026-07-15T14:46:41.629419917Z",
"scheduled_at": "2026-07-15T14:58:07.918275440Z",
"provider_job_id": "9b6ca687-3dc7-4938-9a52-e44ba9c61abe",
"exception_executions": {
"[StandardError]": 5
},
"_good_job_execution": {
"id": "3ea7f11e-4885-4603-9946-ec93bbd0592b",
"created_at": "2026-07-15 14:58:09 UTC",
"updated_at": "2026-07-15 14:58:09 UTC",
"active_job_id": "9b6ca687-3dc7-4938-9a52-e44ba9c61abe",
"job_class": "ExampleJob",
"queue_name": "default",
"scheduled_at": "2026-07-15 14:58:07 UTC",
"finished_at": "2026-07-15 14:58:09 UTC",
"error": null,
"error_event": null,
"error_backtrace": null,
"process_id": "c367cf4d-dcf2-4276-8f39-4ab8030d7e4a",
"duration": "0.045351"
}
}
-288526밀리초 대기 중
39밀리초 실행 시간
오류:
ExampleJob::ExpectedError: Executed 5 times.
app/jobs/example_job.rb:42:in 'ExampleJob#perform'
/app/demo/app/jobs/example_job.rb:42:in 'ExampleJob#perform'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n.rb:354:in 'I18n::Base#with_locale'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'
/app/app/models/good_job/job.rb:814:in 'block (3 levels) in GoodJob::Job#perform'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/app/models/good_job/job.rb:813:in 'block (2 levels) in GoodJob::Job#perform'
/app/lib/good_job/current_thread.rb:120:in 'GoodJob::CurrentThread.within'
/app/app/models/good_job/job.rb:768:in 'block in GoodJob::Job#perform'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/app/models/good_job/batch.rb:214:in 'GoodJob::Batch.within_thread'
/app/app/models/good_job/job.rb:975:in 'GoodJob::Job#reset_batch_values'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/app/models/good_job/job.rb:762:in 'GoodJob::Job#perform'
/app/app/models/good_job/job.rb:393:in 'block in GoodJob::Job.perform_with_advisory_lock'
/app/app/models/good_job/job/lockable.rb:26:in 'block in GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'
/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'
/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:463:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:335:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/app/models/good_job/job/lockable.rb:23:in 'GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/app/models/good_job/job.rb:390:in 'GoodJob::Job.perform_with_advisory_lock'
/app/app/models/good_job/job.rb:411:in 'GoodJob::Job.perform_with_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#perform_with_lock'
/app/lib/good_job/job_performer.rb:35:in 'block in GoodJob::JobPerformer#next'
/app/lib/good_job/capsule_tracker.rb:94:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/lib/good_job/scheduler.rb:288:in 'block in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb:169:in 'block (2 levels) in Concurrent::TimerSet#process_tasks'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
<internal:kernel>:168:in 'Kernel#loop'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'block (2 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
{
"job_id": "9b6ca687-3dc7-4938-9a52-e44ba9c61abe",
"locale": "en",
"priority": null,
"timezone": "UTC",
"arguments": [
"error_five_times"
],
"job_class": "ExampleJob",
"executions": 4,
"queue_name": "default",
"enqueued_at": "2026-07-15T14:46:41.281148909Z",
"scheduled_at": "2026-07-15T14:51:30.133217584Z",
"provider_job_id": "9b6ca687-3dc7-4938-9a52-e44ba9c61abe",
"exception_executions": {
"[StandardError]": 4
},
"_good_job_execution": {
"id": "f58f104d-eb3c-414b-afb5-f1982cc5784a",
"created_at": "2026-07-15 14:46:41 UTC",
"updated_at": "2026-07-15 14:46:41 UTC",
"active_job_id": "9b6ca687-3dc7-4938-9a52-e44ba9c61abe",
"job_class": "ExampleJob",
"queue_name": "default",
"scheduled_at": "2026-07-15 14:51:30 UTC",
"finished_at": "2026-07-15 14:46:41 UTC",
"error": "ExampleJob::ExpectedError: Executed 5 times.",
"error_event": "retried",
"error_backtrace": [
"/app/demo/app/jobs/example_job.rb:42:in 'ExampleJob#perform'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n.rb:354:in 'I18n::Base#with_locale'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'",
"/app/app/models/good_job/job.rb:814:in 'block (3 levels) in GoodJob::Job#perform'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
"/app/app/models/good_job/job.rb:813:in 'block (2 levels) in GoodJob::Job#perform'",
"/app/lib/good_job/current_thread.rb:120:in 'GoodJob::CurrentThread.within'",
"/app/app/models/good_job/job.rb:768:in 'block in GoodJob::Job#perform'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/app/models/good_job/batch.rb:214:in 'GoodJob::Batch.within_thread'",
"/app/app/models/good_job/job.rb:975:in 'GoodJob::Job#reset_batch_values'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
"/app/app/models/good_job/job.rb:762:in 'GoodJob::Job#perform'",
"/app/app/models/good_job/job.rb:393:in 'block in GoodJob::Job.perform_with_advisory_lock'",
"/app/app/models/good_job/job/lockable.rb:26:in 'block in GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:463:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:335:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
"/app/app/models/good_job/job/lockable.rb:23:in 'GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
"/app/app/models/good_job/job.rb:390:in 'GoodJob::Job.perform_with_advisory_lock'",
"/app/app/models/good_job/job.rb:411:in 'GoodJob::Job.perform_with_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#perform_with_lock'",
"/app/lib/good_job/job_performer.rb:35:in 'block in GoodJob::JobPerformer#next'",
"/app/lib/good_job/capsule_tracker.rb:94:in 'GoodJob::CapsuleTracker#register'",
"/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
"/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
"/app/lib/good_job/scheduler.rb:288:in 'block in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb:169:in 'block (2 levels) in Concurrent::TimerSet#process_tasks'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'",
"<internal:kernel>:168:in 'Kernel#loop'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'block (2 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'"
],
"process_id": "cc31b880-2a9a-4eb4-8376-21e03e2a91da",
"duration": "0.039799"
}
}
오류:
ExampleJob::ExpectedError: Executed 4 times.
app/jobs/example_job.rb:42:in 'ExampleJob#perform'
/app/demo/app/jobs/example_job.rb:42:in 'ExampleJob#perform'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n.rb:354:in 'I18n::Base#with_locale'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'
/app/app/models/good_job/job.rb:814:in 'block (3 levels) in GoodJob::Job#perform'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/app/models/good_job/job.rb:813:in 'block (2 levels) in GoodJob::Job#perform'
/app/lib/good_job/current_thread.rb:120:in 'GoodJob::CurrentThread.within'
/app/app/models/good_job/job.rb:768:in 'block in GoodJob::Job#perform'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/app/models/good_job/batch.rb:214:in 'GoodJob::Batch.within_thread'
/app/app/models/good_job/job.rb:975:in 'GoodJob::Job#reset_batch_values'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/app/models/good_job/job.rb:762:in 'GoodJob::Job#perform'
/app/app/models/good_job/job.rb:393:in 'block in GoodJob::Job.perform_with_advisory_lock'
/app/app/models/good_job/job/lockable.rb:26:in 'block in GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'
/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'
/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:463:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:335:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/app/models/good_job/job/lockable.rb:23:in 'GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/app/models/good_job/job.rb:390:in 'GoodJob::Job.perform_with_advisory_lock'
/app/app/models/good_job/job.rb:411:in 'GoodJob::Job.perform_with_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#perform_with_lock'
/app/lib/good_job/job_performer.rb:35:in 'block in GoodJob::JobPerformer#next'
/app/lib/good_job/capsule_tracker.rb:94:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/lib/good_job/scheduler.rb:288:in 'block in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb:169:in 'block (2 levels) in Concurrent::TimerSet#process_tasks'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
<internal:kernel>:168:in 'Kernel#loop'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'block (2 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
{
"job_id": "9b6ca687-3dc7-4938-9a52-e44ba9c61abe",
"locale": "en",
"priority": null,
"timezone": "UTC",
"arguments": [
"error_five_times"
],
"job_class": "ExampleJob",
"executions": 3,
"queue_name": "default",
"enqueued_at": "2026-07-15T14:45:10.745787163Z",
"scheduled_at": "2026-07-15T14:46:39.832434958Z",
"provider_job_id": "9b6ca687-3dc7-4938-9a52-e44ba9c61abe",
"exception_executions": {
"[StandardError]": 3
},
"_good_job_execution": {
"id": "a4922494-b7ae-408b-977e-5f659b8d133e",
"created_at": "2026-07-15 14:46:41 UTC",
"updated_at": "2026-07-15 14:46:41 UTC",
"active_job_id": "9b6ca687-3dc7-4938-9a52-e44ba9c61abe",
"job_class": "ExampleJob",
"queue_name": "default",
"scheduled_at": "2026-07-15 14:46:39 UTC",
"finished_at": "2026-07-15 14:46:41 UTC",
"error": "ExampleJob::ExpectedError: Executed 4 times.",
"error_event": "retried",
"error_backtrace": [
"/app/demo/app/jobs/example_job.rb:42:in 'ExampleJob#perform'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n.rb:354:in 'I18n::Base#with_locale'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'",
"/app/app/models/good_job/job.rb:814:in 'block (3 levels) in GoodJob::Job#perform'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
"/app/app/models/good_job/job.rb:813:in 'block (2 levels) in GoodJob::Job#perform'",
"/app/lib/good_job/current_thread.rb:120:in 'GoodJob::CurrentThread.within'",
"/app/app/models/good_job/job.rb:768:in 'block in GoodJob::Job#perform'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/app/models/good_job/batch.rb:214:in 'GoodJob::Batch.within_thread'",
"/app/app/models/good_job/job.rb:975:in 'GoodJob::Job#reset_batch_values'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
"/app/app/models/good_job/job.rb:762:in 'GoodJob::Job#perform'",
"/app/app/models/good_job/job.rb:393:in 'block in GoodJob::Job.perform_with_advisory_lock'",
"/app/app/models/good_job/job/lockable.rb:26:in 'block in GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:463:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:335:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
"/app/app/models/good_job/job/lockable.rb:23:in 'GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
"/app/app/models/good_job/job.rb:390:in 'GoodJob::Job.perform_with_advisory_lock'",
"/app/app/models/good_job/job.rb:411:in 'GoodJob::Job.perform_with_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#perform_with_lock'",
"/app/lib/good_job/job_performer.rb:35:in 'block in GoodJob::JobPerformer#next'",
"/app/lib/good_job/capsule_tracker.rb:94:in 'GoodJob::CapsuleTracker#register'",
"/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
"/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
"/app/lib/good_job/scheduler.rb:288:in 'block in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb:169:in 'block (2 levels) in Concurrent::TimerSet#process_tasks'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'",
"<internal:kernel>:168:in 'Kernel#loop'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'block (2 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'"
],
"process_id": "cc31b880-2a9a-4eb4-8376-21e03e2a91da",
"duration": "0.027129"
}
}
-18398밀리초 대기 중
40밀리초 실행 시간
오류:
ExampleJob::ExpectedError: Executed 3 times.
app/jobs/example_job.rb:42:in 'ExampleJob#perform'
/app/demo/app/jobs/example_job.rb:42:in 'ExampleJob#perform'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n.rb:354:in 'I18n::Base#with_locale'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'
/app/app/models/good_job/job.rb:814:in 'block (3 levels) in GoodJob::Job#perform'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/app/models/good_job/job.rb:813:in 'block (2 levels) in GoodJob::Job#perform'
/app/lib/good_job/current_thread.rb:120:in 'GoodJob::CurrentThread.within'
/app/app/models/good_job/job.rb:768:in 'block in GoodJob::Job#perform'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/app/models/good_job/batch.rb:214:in 'GoodJob::Batch.within_thread'
/app/app/models/good_job/job.rb:975:in 'GoodJob::Job#reset_batch_values'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/app/models/good_job/job.rb:762:in 'GoodJob::Job#perform'
/app/app/models/good_job/job.rb:393:in 'block in GoodJob::Job.perform_with_advisory_lock'
/app/app/models/good_job/job/lockable.rb:26:in 'block in GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'
/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'
/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:463:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:335:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/app/models/good_job/job/lockable.rb:23:in 'GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/app/models/good_job/job.rb:390:in 'GoodJob::Job.perform_with_advisory_lock'
/app/app/models/good_job/job.rb:411:in 'GoodJob::Job.perform_with_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#perform_with_lock'
/app/lib/good_job/job_performer.rb:35:in 'block in GoodJob::JobPerformer#next'
/app/lib/good_job/capsule_tracker.rb:94:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/lib/good_job/scheduler.rb:288:in 'block in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb:99:in 'block in Concurrent::TimerSet#ns_post_task'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
<internal:kernel>:168:in 'Kernel#loop'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'block (2 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
{
"job_id": "9b6ca687-3dc7-4938-9a52-e44ba9c61abe",
"locale": "en",
"priority": null,
"timezone": "UTC",
"arguments": [
"error_five_times"
],
"job_class": "ExampleJob",
"executions": 2,
"queue_name": "default",
"enqueued_at": "2026-07-15T14:45:09.926687879Z",
"scheduled_at": "2026-07-15T14:45:29.114325890Z",
"provider_job_id": "9b6ca687-3dc7-4938-9a52-e44ba9c61abe",
"exception_executions": {
"[StandardError]": 2
},
"_good_job_execution": {
"id": "b9a252c4-c4f8-494f-9ef5-a77ef110ced5",
"created_at": "2026-07-15 14:45:10 UTC",
"updated_at": "2026-07-15 14:45:10 UTC",
"active_job_id": "9b6ca687-3dc7-4938-9a52-e44ba9c61abe",
"job_class": "ExampleJob",
"queue_name": "default",
"scheduled_at": "2026-07-15 14:45:29 UTC",
"finished_at": "2026-07-15 14:45:10 UTC",
"error": "ExampleJob::ExpectedError: Executed 3 times.",
"error_event": "retried",
"error_backtrace": [
"/app/demo/app/jobs/example_job.rb:42:in 'ExampleJob#perform'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n.rb:354:in 'I18n::Base#with_locale'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'",
"/app/app/models/good_job/job.rb:814:in 'block (3 levels) in GoodJob::Job#perform'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
"/app/app/models/good_job/job.rb:813:in 'block (2 levels) in GoodJob::Job#perform'",
"/app/lib/good_job/current_thread.rb:120:in 'GoodJob::CurrentThread.within'",
"/app/app/models/good_job/job.rb:768:in 'block in GoodJob::Job#perform'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/app/models/good_job/batch.rb:214:in 'GoodJob::Batch.within_thread'",
"/app/app/models/good_job/job.rb:975:in 'GoodJob::Job#reset_batch_values'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
"/app/app/models/good_job/job.rb:762:in 'GoodJob::Job#perform'",
"/app/app/models/good_job/job.rb:393:in 'block in GoodJob::Job.perform_with_advisory_lock'",
"/app/app/models/good_job/job/lockable.rb:26:in 'block in GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:463:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:335:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
"/app/app/models/good_job/job/lockable.rb:23:in 'GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
"/app/app/models/good_job/job.rb:390:in 'GoodJob::Job.perform_with_advisory_lock'",
"/app/app/models/good_job/job.rb:411:in 'GoodJob::Job.perform_with_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#perform_with_lock'",
"/app/lib/good_job/job_performer.rb:35:in 'block in GoodJob::JobPerformer#next'",
"/app/lib/good_job/capsule_tracker.rb:94:in 'GoodJob::CapsuleTracker#register'",
"/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
"/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
"/app/lib/good_job/scheduler.rb:288:in 'block in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb:99:in 'block in Concurrent::TimerSet#ns_post_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'",
"<internal:kernel>:168:in 'Kernel#loop'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'block (2 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'"
],
"process_id": "cc31b880-2a9a-4eb4-8376-21e03e2a91da",
"duration": "0.040776"
}
}
-2773밀리초 대기 중
51밀리초 실행 시간
오류:
ExampleJob::ExpectedError: Executed 2 times.
app/jobs/example_job.rb:42:in 'ExampleJob#perform'
/app/demo/app/jobs/example_job.rb:42:in 'ExampleJob#perform'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n.rb:354:in 'I18n::Base#with_locale'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'
/app/app/models/good_job/job.rb:814:in 'block (3 levels) in GoodJob::Job#perform'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/app/models/good_job/job.rb:813:in 'block (2 levels) in GoodJob::Job#perform'
/app/lib/good_job/current_thread.rb:120:in 'GoodJob::CurrentThread.within'
/app/app/models/good_job/job.rb:768:in 'block in GoodJob::Job#perform'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/app/models/good_job/batch.rb:214:in 'GoodJob::Batch.within_thread'
/app/app/models/good_job/job.rb:975:in 'GoodJob::Job#reset_batch_values'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/app/models/good_job/job.rb:762:in 'GoodJob::Job#perform'
/app/app/models/good_job/job.rb:393:in 'block in GoodJob::Job.perform_with_advisory_lock'
/app/app/models/good_job/job/lockable.rb:26:in 'block in GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'
/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'
/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:463:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:335:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/app/models/good_job/job/lockable.rb:23:in 'GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/app/models/good_job/job.rb:390:in 'GoodJob::Job.perform_with_advisory_lock'
/app/app/models/good_job/job.rb:411:in 'GoodJob::Job.perform_with_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#perform_with_lock'
/app/lib/good_job/job_performer.rb:35:in 'block in GoodJob::JobPerformer#next'
/app/lib/good_job/capsule_tracker.rb:94:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/lib/good_job/scheduler.rb:288:in 'block in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb:99:in 'block in Concurrent::TimerSet#ns_post_task'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
<internal:kernel>:168:in 'Kernel#loop'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'block (2 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
{
"job_id": "9b6ca687-3dc7-4938-9a52-e44ba9c61abe",
"locale": "en",
"priority": null,
"timezone": "UTC",
"arguments": [
"error_five_times"
],
"job_class": "ExampleJob",
"executions": 1,
"queue_name": "default",
"enqueued_at": "2026-07-15T14:45:09.669316999Z",
"scheduled_at": "2026-07-15T14:45:12.678031504Z",
"provider_job_id": "9b6ca687-3dc7-4938-9a52-e44ba9c61abe",
"exception_executions": {
"[StandardError]": 1
},
"_good_job_execution": {
"id": "e2479fbb-cc93-45e3-b6d8-939487c54d35",
"created_at": "2026-07-15 14:45:09 UTC",
"updated_at": "2026-07-15 14:45:09 UTC",
"active_job_id": "9b6ca687-3dc7-4938-9a52-e44ba9c61abe",
"job_class": "ExampleJob",
"queue_name": "default",
"scheduled_at": "2026-07-15 14:45:12 UTC",
"finished_at": "2026-07-15 14:45:09 UTC",
"error": "ExampleJob::ExpectedError: Executed 2 times.",
"error_event": "retried",
"error_backtrace": [
"/app/demo/app/jobs/example_job.rb:42:in 'ExampleJob#perform'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n.rb:354:in 'I18n::Base#with_locale'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'",
"/app/app/models/good_job/job.rb:814:in 'block (3 levels) in GoodJob::Job#perform'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
"/app/app/models/good_job/job.rb:813:in 'block (2 levels) in GoodJob::Job#perform'",
"/app/lib/good_job/current_thread.rb:120:in 'GoodJob::CurrentThread.within'",
"/app/app/models/good_job/job.rb:768:in 'block in GoodJob::Job#perform'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/app/models/good_job/batch.rb:214:in 'GoodJob::Batch.within_thread'",
"/app/app/models/good_job/job.rb:975:in 'GoodJob::Job#reset_batch_values'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
"/app/app/models/good_job/job.rb:762:in 'GoodJob::Job#perform'",
"/app/app/models/good_job/job.rb:393:in 'block in GoodJob::Job.perform_with_advisory_lock'",
"/app/app/models/good_job/job/lockable.rb:26:in 'block in GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:463:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:335:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
"/app/app/models/good_job/job/lockable.rb:23:in 'GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
"/app/app/models/good_job/job.rb:390:in 'GoodJob::Job.perform_with_advisory_lock'",
"/app/app/models/good_job/job.rb:411:in 'GoodJob::Job.perform_with_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#perform_with_lock'",
"/app/lib/good_job/job_performer.rb:35:in 'block in GoodJob::JobPerformer#next'",
"/app/lib/good_job/capsule_tracker.rb:94:in 'GoodJob::CapsuleTracker#register'",
"/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
"/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
"/app/lib/good_job/scheduler.rb:288:in 'block in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb:99:in 'block in Concurrent::TimerSet#ns_post_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'",
"<internal:kernel>:168:in 'Kernel#loop'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'block (2 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'"
],
"process_id": "cc31b880-2a9a-4eb4-8376-21e03e2a91da",
"duration": "0.051657"
}
}
오류:
ExampleJob::ExpectedError: Executed 1 time.
app/jobs/example_job.rb:42:in 'ExampleJob#perform'
/app/demo/app/jobs/example_job.rb:42:in 'ExampleJob#perform'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n.rb:354:in 'I18n::Base#with_locale'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'
/app/app/models/good_job/job.rb:814:in 'block (3 levels) in GoodJob::Job#perform'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/app/models/good_job/job.rb:813:in 'block (2 levels) in GoodJob::Job#perform'
/app/lib/good_job/current_thread.rb:120:in 'GoodJob::CurrentThread.within'
/app/app/models/good_job/job.rb:768:in 'block in GoodJob::Job#perform'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/app/models/good_job/batch.rb:214:in 'GoodJob::Batch.within_thread'
/app/app/models/good_job/job.rb:975:in 'GoodJob::Job#reset_batch_values'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/app/models/good_job/job.rb:762:in 'GoodJob::Job#perform'
/app/app/models/good_job/job.rb:393:in 'block in GoodJob::Job.perform_with_advisory_lock'
/app/app/models/good_job/job/lockable.rb:26:in 'block in GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'
/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'
/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:463:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:335:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/app/models/good_job/job/lockable.rb:23:in 'GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/app/models/good_job/job.rb:390:in 'GoodJob::Job.perform_with_advisory_lock'
/app/app/models/good_job/job.rb:411:in 'GoodJob::Job.perform_with_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#perform_with_lock'
/app/lib/good_job/job_performer.rb:35:in 'block in GoodJob::JobPerformer#next'
/app/lib/good_job/capsule_tracker.rb:94:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/lib/good_job/scheduler.rb:288:in 'block in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb:169:in 'block (2 levels) in Concurrent::TimerSet#process_tasks'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
<internal:kernel>:168:in 'Kernel#loop'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'block (2 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'
/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
{
"job_id": "9b6ca687-3dc7-4938-9a52-e44ba9c61abe",
"locale": "en",
"priority": null,
"timezone": "UTC",
"arguments": [
"error_five_times"
],
"job_class": "ExampleJob",
"executions": 0,
"queue_name": "default",
"enqueued_at": "2026-07-15T14:45:08.578206532Z",
"scheduled_at": null,
"provider_job_id": null,
"exception_executions": {},
"_good_job_execution": {
"id": "12f0ecfd-5f8b-45a3-99ac-7e523b9db7c5",
"created_at": "2026-07-15 14:45:09 UTC",
"updated_at": "2026-07-15 14:45:09 UTC",
"active_job_id": "9b6ca687-3dc7-4938-9a52-e44ba9c61abe",
"job_class": "ExampleJob",
"queue_name": "default",
"scheduled_at": "2026-07-15 14:45:08 UTC",
"finished_at": "2026-07-15 14:45:09 UTC",
"error": "ExampleJob::ExpectedError: Executed 1 time.",
"error_event": "retried",
"error_backtrace": [
"/app/demo/app/jobs/example_job.rb:42:in 'ExampleJob#perform'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n.rb:354:in 'I18n::Base#with_locale'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activejob-8.1.3/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'",
"/app/app/models/good_job/job.rb:814:in 'block (3 levels) in GoodJob::Job#perform'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
"/app/app/models/good_job/job.rb:813:in 'block (2 levels) in GoodJob::Job#perform'",
"/app/lib/good_job/current_thread.rb:120:in 'GoodJob::CurrentThread.within'",
"/app/app/models/good_job/job.rb:768:in 'block in GoodJob::Job#perform'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/app/models/good_job/batch.rb:214:in 'GoodJob::Batch.within_thread'",
"/app/app/models/good_job/job.rb:975:in 'GoodJob::Job#reset_batch_values'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
"/app/app/models/good_job/job.rb:762:in 'GoodJob::Job#perform'",
"/app/app/models/good_job/job.rb:393:in 'block in GoodJob::Job.perform_with_advisory_lock'",
"/app/app/models/good_job/job/lockable.rb:26:in 'block in GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:340:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:463:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:335:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
"/app/app/models/good_job/job/lockable.rb:23:in 'GoodJob::Job::Lockable::ClassMethods#with_advisory_lock_claim'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
"/app/app/models/good_job/job.rb:390:in 'GoodJob::Job.perform_with_advisory_lock'",
"/app/app/models/good_job/job.rb:411:in 'GoodJob::Job.perform_with_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:1393:in 'ActiveRecord::Relation#_scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation.rb:558:in 'ActiveRecord::Relation#scoping'",
"/app/vendor/bundle/ruby/3.4.0/gems/activerecord-8.1.3/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#perform_with_lock'",
"/app/lib/good_job/job_performer.rb:35:in 'block in GoodJob::JobPerformer#next'",
"/app/lib/good_job/capsule_tracker.rb:94:in 'GoodJob::CapsuleTracker#register'",
"/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
"/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'",
"/app/vendor/bundle/ruby/3.4.0/gems/activesupport-8.1.3/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
"/app/lib/good_job/scheduler.rb:288:in 'block in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb:169:in 'block (2 levels) in Concurrent::TimerSet#process_tasks'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'",
"<internal:kernel>:168:in 'Kernel#loop'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'block (2 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'",
"/app/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'"
],
"process_id": "c367cf4d-dcf2-4276-8f39-4ab8030d7e4a",
"duration": "0.04501"
}
}