ExampleJob

File d'attente
default
Priorité
-10
Réussis
Paramètres
"error_five_times"
{
  "job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
  "locale": "en",
  "priority": -10,
  "timezone": "UTC",
  "arguments": [
    "error_five_times"
  ],
  "job_class": "ExampleJob",
  "executions": 5,
  "queue_name": "default",
  "enqueued_at": "2026-10-15T19:39:01.237164305Z",
  "scheduled_at": "2026-10-15T19:51:00.218987919Z",
  "provider_job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
  "exception_executions": {
    "[StandardError]": 5
  },
  "_good_job": {
    "id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
    "active_job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
    "batch_callback_id": null,
    "batch_id": null,
    "concurrency_key": "ExampleJob",
    "created_at": "2026-10-15 19:39:01 UTC",
    "cron_at": "2026-10-15 19:31:51 UTC",
    "cron_key": "frequent_example",
    "error": null,
    "error_event": null,
    "executions_count": 6,
    "finished_at": "2026-10-15 19:51:00 UTC",
    "is_discrete": null,
    "job_class": "ExampleJob",
    "labels": null,
    "lock_type": null,
    "locked_at": null,
    "locked_by_id": null,
    "performed_at": "2026-10-15 19:51:00 UTC",
    "priority": -10,
    "queue_name": "default",
    "retried_good_job_id": null,
    "scheduled_at": "2026-10-15 19:51:00 UTC",
    "updated_at": "2026-10-15 19:51:00 UTC"
  }
}
Exécutions
73ms Dans la file d'attente
30ms Durée
Réussis
{
  "job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
  "locale": "en",
  "priority": -10,
  "timezone": "UTC",
  "arguments": [
    "error_five_times"
  ],
  "job_class": "ExampleJob",
  "executions": 5,
  "queue_name": "default",
  "enqueued_at": "2026-10-15T19:39:01.237164305Z",
  "scheduled_at": "2026-10-15T19:51:00.218987919Z",
  "provider_job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
  "exception_executions": {
    "[StandardError]": 5
  },
  "_good_job_execution": {
    "id": "9ee21a4f-5d4c-45da-985a-329204e45205",
    "active_job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
    "created_at": "2026-10-15 19:51:00 UTC",
    "duration": "0.030086",
    "error": null,
    "error_backtrace": null,
    "error_event": null,
    "finished_at": "2026-10-15 19:51:00 UTC",
    "job_class": "ExampleJob",
    "process_id": "557036a7-f92f-4ae3-afc1-2eda544cf2cf",
    "queue_name": "default",
    "scheduled_at": "2026-10-15 19:51:00 UTC",
    "updated_at": "2026-10-15 19:51:00 UTC"
  }
}
125ms Dans la file d'attente
35ms Durée
Mis au rebut
Erreur: ExampleJob::ExpectedError: Executed 5 times.
app/jobs/example_job.rb:54:in 'ExampleJob#perform'
/app/demo/app/jobs/example_job.rb:54:in 'ExampleJob#perform'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/i18n-1.15.2/lib/i18n.rb:383:in 'I18n::Base#with_locale'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'
/app/app/models/good_job/job.rb:828:in 'block (3 levels) in GoodJob::Job#perform'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/app/models/good_job/job.rb:827: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:782:in 'block in GoodJob::Job#perform'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/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:1016:in 'GoodJob::Job#reset_batch_values'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/app/models/good_job/job.rb:776:in 'GoodJob::Job#perform'
/app/app/models/good_job/job.rb:407: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:357:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'
/app/app/models/concerns/good_job/advisory_lockable.rb:357:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:465:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:352: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/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/app/models/good_job/job.rb:404:in 'GoodJob::Job.perform_with_advisory_lock'
/app/app/models/good_job/job.rb:425:in 'GoodJob::Job.perform_with_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/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:100:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:285:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/lib/good_job/scheduler.rb:284:in 'block in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/timer_set.rb:169:in 'block (2 levels) in Concurrent::TimerSet#process_tasks'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'Kernel#loop'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/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/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
{
  "job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
  "locale": "en",
  "priority": -10,
  "timezone": "UTC",
  "arguments": [
    "error_five_times"
  ],
  "job_class": "ExampleJob",
  "executions": 4,
  "queue_name": "default",
  "enqueued_at": "2026-10-15T19:34:13.058226834Z",
  "scheduled_at": "2026-10-15T19:39:01.095145858Z",
  "provider_job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
  "exception_executions": {
    "[StandardError]": 4
  },
  "_good_job_execution": {
    "id": "7b363a0b-bf45-40a6-b6b4-047aabb802fd",
    "active_job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
    "created_at": "2026-10-15 19:39:01 UTC",
    "duration": "0.035449",
    "error": "ExampleJob::ExpectedError: Executed 5 times.",
    "error_backtrace": [
      "/app/demo/app/jobs/example_job.rb:54:in 'ExampleJob#perform'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/i18n-1.15.2/lib/i18n.rb:383:in 'I18n::Base#with_locale'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'",
      "/app/app/models/good_job/job.rb:828:in 'block (3 levels) in GoodJob::Job#perform'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
      "/app/app/models/good_job/job.rb:827: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:782:in 'block in GoodJob::Job#perform'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/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:1016:in 'GoodJob::Job#reset_batch_values'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
      "/app/app/models/good_job/job.rb:776:in 'GoodJob::Job#perform'",
      "/app/app/models/good_job/job.rb:407: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:357:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'",
      "/app/app/models/concerns/good_job/advisory_lockable.rb:357:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:465:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
      "/app/app/models/concerns/good_job/advisory_lockable.rb:352: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/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
      "/app/app/models/good_job/job.rb:404:in 'GoodJob::Job.perform_with_advisory_lock'",
      "/app/app/models/good_job/job.rb:425:in 'GoodJob::Job.perform_with_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/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:100:in 'GoodJob::CapsuleTracker#register'",
      "/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
      "/app/lib/good_job/scheduler.rb:285:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
      "/app/lib/good_job/scheduler.rb:284:in 'block in GoodJob::Scheduler#create_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/timer_set.rb:169:in 'block (2 levels) in Concurrent::TimerSet#process_tasks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'Kernel#loop'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/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/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'"
    ],
    "error_event": "retried",
    "finished_at": "2026-10-15 19:39:01 UTC",
    "job_class": "ExampleJob",
    "process_id": "557036a7-f92f-4ae3-afc1-2eda544cf2cf",
    "queue_name": "default",
    "scheduled_at": "2026-10-15 19:39:01 UTC",
    "updated_at": "2026-10-15 19:39:01 UTC"
  }
}
3,0s Dans la file d'attente
18ms Durée
Mis au rebut
Erreur: ExampleJob::ExpectedError: Executed 4 times.
app/jobs/example_job.rb:54:in 'ExampleJob#perform'
/app/demo/app/jobs/example_job.rb:54:in 'ExampleJob#perform'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/i18n-1.15.2/lib/i18n.rb:383:in 'I18n::Base#with_locale'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'
/app/app/models/good_job/job.rb:828:in 'block (3 levels) in GoodJob::Job#perform'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/app/models/good_job/job.rb:827: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:782:in 'block in GoodJob::Job#perform'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/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:1016:in 'GoodJob::Job#reset_batch_values'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/app/models/good_job/job.rb:776:in 'GoodJob::Job#perform'
/app/app/models/good_job/job.rb:407: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:357:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'
/app/app/models/concerns/good_job/advisory_lockable.rb:357:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:465:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:352: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/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/app/models/good_job/job.rb:404:in 'GoodJob::Job.perform_with_advisory_lock'
/app/app/models/good_job/job.rb:425:in 'GoodJob::Job.perform_with_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/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:100:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:285:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/lib/good_job/scheduler.rb:284:in 'block in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/timer_set.rb:99:in 'block in Concurrent::TimerSet#ns_post_task'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'Kernel#loop'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/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/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
{
  "job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
  "locale": "en",
  "priority": -10,
  "timezone": "UTC",
  "arguments": [
    "error_five_times"
  ],
  "job_class": "ExampleJob",
  "executions": 3,
  "queue_name": "default",
  "enqueued_at": "2026-10-15T19:32:46.196750817Z",
  "scheduled_at": "2026-10-15T19:34:10.039886404Z",
  "provider_job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
  "exception_executions": {
    "[StandardError]": 3
  },
  "_good_job_execution": {
    "id": "89867ce2-181d-4b64-9303-701232085bf4",
    "active_job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
    "created_at": "2026-10-15 19:34:13 UTC",
    "duration": "0.018226",
    "error": "ExampleJob::ExpectedError: Executed 4 times.",
    "error_backtrace": [
      "/app/demo/app/jobs/example_job.rb:54:in 'ExampleJob#perform'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/i18n-1.15.2/lib/i18n.rb:383:in 'I18n::Base#with_locale'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'",
      "/app/app/models/good_job/job.rb:828:in 'block (3 levels) in GoodJob::Job#perform'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
      "/app/app/models/good_job/job.rb:827: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:782:in 'block in GoodJob::Job#perform'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/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:1016:in 'GoodJob::Job#reset_batch_values'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
      "/app/app/models/good_job/job.rb:776:in 'GoodJob::Job#perform'",
      "/app/app/models/good_job/job.rb:407: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:357:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'",
      "/app/app/models/concerns/good_job/advisory_lockable.rb:357:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:465:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
      "/app/app/models/concerns/good_job/advisory_lockable.rb:352: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/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
      "/app/app/models/good_job/job.rb:404:in 'GoodJob::Job.perform_with_advisory_lock'",
      "/app/app/models/good_job/job.rb:425:in 'GoodJob::Job.perform_with_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/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:100:in 'GoodJob::CapsuleTracker#register'",
      "/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
      "/app/lib/good_job/scheduler.rb:285:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
      "/app/lib/good_job/scheduler.rb:284:in 'block in GoodJob::Scheduler#create_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/timer_set.rb:99:in 'block in Concurrent::TimerSet#ns_post_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'Kernel#loop'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/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/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'"
    ],
    "error_event": "retried",
    "finished_at": "2026-10-15 19:34:13 UTC",
    "job_class": "ExampleJob",
    "process_id": "557036a7-f92f-4ae3-afc1-2eda544cf2cf",
    "queue_name": "default",
    "scheduled_at": "2026-10-15 19:34:10 UTC",
    "updated_at": "2026-10-15 19:34:13 UTC"
  }
}
2,0s Dans la file d'attente
28ms Durée
Mis au rebut
Erreur: ExampleJob::ExpectedError: Executed 3 times.
app/jobs/example_job.rb:54:in 'ExampleJob#perform'
/app/demo/app/jobs/example_job.rb:54:in 'ExampleJob#perform'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/i18n-1.15.2/lib/i18n.rb:383:in 'I18n::Base#with_locale'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'
/app/app/models/good_job/job.rb:828:in 'block (3 levels) in GoodJob::Job#perform'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/app/models/good_job/job.rb:827: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:782:in 'block in GoodJob::Job#perform'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/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:1016:in 'GoodJob::Job#reset_batch_values'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/app/models/good_job/job.rb:776:in 'GoodJob::Job#perform'
/app/app/models/good_job/job.rb:407: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:357:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'
/app/app/models/concerns/good_job/advisory_lockable.rb:357:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:465:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:352: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/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/app/models/good_job/job.rb:404:in 'GoodJob::Job.perform_with_advisory_lock'
/app/app/models/good_job/job.rb:425:in 'GoodJob::Job.perform_with_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/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:100:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:285:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/lib/good_job/scheduler.rb:284:in 'block in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/timer_set.rb:99:in 'block in Concurrent::TimerSet#ns_post_task'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'Kernel#loop'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/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/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
{
  "job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
  "locale": "en",
  "priority": -10,
  "timezone": "UTC",
  "arguments": [
    "error_five_times"
  ],
  "job_class": "ExampleJob",
  "executions": 2,
  "queue_name": "default",
  "enqueued_at": "2026-10-15T19:32:24.640524063Z",
  "scheduled_at": "2026-10-15T19:32:44.142932340Z",
  "provider_job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
  "exception_executions": {
    "[StandardError]": 2
  },
  "_good_job_execution": {
    "id": "22248fb7-3ea5-45a5-b08f-db79e3a3d331",
    "active_job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
    "created_at": "2026-10-15 19:32:46 UTC",
    "duration": "0.028107",
    "error": "ExampleJob::ExpectedError: Executed 3 times.",
    "error_backtrace": [
      "/app/demo/app/jobs/example_job.rb:54:in 'ExampleJob#perform'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/i18n-1.15.2/lib/i18n.rb:383:in 'I18n::Base#with_locale'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'",
      "/app/app/models/good_job/job.rb:828:in 'block (3 levels) in GoodJob::Job#perform'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
      "/app/app/models/good_job/job.rb:827: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:782:in 'block in GoodJob::Job#perform'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/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:1016:in 'GoodJob::Job#reset_batch_values'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
      "/app/app/models/good_job/job.rb:776:in 'GoodJob::Job#perform'",
      "/app/app/models/good_job/job.rb:407: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:357:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'",
      "/app/app/models/concerns/good_job/advisory_lockable.rb:357:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:465:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
      "/app/app/models/concerns/good_job/advisory_lockable.rb:352: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/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
      "/app/app/models/good_job/job.rb:404:in 'GoodJob::Job.perform_with_advisory_lock'",
      "/app/app/models/good_job/job.rb:425:in 'GoodJob::Job.perform_with_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/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:100:in 'GoodJob::CapsuleTracker#register'",
      "/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
      "/app/lib/good_job/scheduler.rb:285:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
      "/app/lib/good_job/scheduler.rb:284:in 'block in GoodJob::Scheduler#create_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/timer_set.rb:99:in 'block in Concurrent::TimerSet#ns_post_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'Kernel#loop'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/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/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'"
    ],
    "error_event": "retried",
    "finished_at": "2026-10-15 19:32:46 UTC",
    "job_class": "ExampleJob",
    "process_id": "557036a7-f92f-4ae3-afc1-2eda544cf2cf",
    "queue_name": "default",
    "scheduled_at": "2026-10-15 19:32:44 UTC",
    "updated_at": "2026-10-15 19:32:46 UTC"
  }
}
2,3s Dans la file d'attente
52ms Durée
Mis au rebut
Erreur: ExampleJob::ExpectedError: Executed 2 times.
app/jobs/example_job.rb:54:in 'ExampleJob#perform'
/app/demo/app/jobs/example_job.rb:54:in 'ExampleJob#perform'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/i18n-1.15.2/lib/i18n.rb:383:in 'I18n::Base#with_locale'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'
/app/app/models/good_job/job.rb:828:in 'block (3 levels) in GoodJob::Job#perform'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/app/models/good_job/job.rb:827: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:782:in 'block in GoodJob::Job#perform'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/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:1016:in 'GoodJob::Job#reset_batch_values'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/app/models/good_job/job.rb:776:in 'GoodJob::Job#perform'
/app/app/models/good_job/job.rb:407: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:357:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'
/app/app/models/concerns/good_job/advisory_lockable.rb:357:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:465:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:352: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/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/app/models/good_job/job.rb:404:in 'GoodJob::Job.perform_with_advisory_lock'
/app/app/models/good_job/job.rb:425:in 'GoodJob::Job.perform_with_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/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:100:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:285:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/lib/good_job/scheduler.rb:284:in 'block in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/timer_set.rb:99:in 'block in Concurrent::TimerSet#ns_post_task'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'Kernel#loop'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/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/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
{
  "job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
  "locale": "en",
  "priority": -10,
  "timezone": "UTC",
  "arguments": [
    "error_five_times"
  ],
  "job_class": "ExampleJob",
  "executions": 1,
  "queue_name": "default",
  "enqueued_at": "2026-10-15T19:32:19.132016452Z",
  "scheduled_at": "2026-10-15T19:32:22.251361539Z",
  "provider_job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
  "exception_executions": {
    "[StandardError]": 1
  },
  "_good_job_execution": {
    "id": "7b453c3a-6d98-4ea4-9b08-fb38f926dd4b",
    "active_job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
    "created_at": "2026-10-15 19:32:24 UTC",
    "duration": "0.052132",
    "error": "ExampleJob::ExpectedError: Executed 2 times.",
    "error_backtrace": [
      "/app/demo/app/jobs/example_job.rb:54:in 'ExampleJob#perform'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/i18n-1.15.2/lib/i18n.rb:383:in 'I18n::Base#with_locale'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'",
      "/app/app/models/good_job/job.rb:828:in 'block (3 levels) in GoodJob::Job#perform'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
      "/app/app/models/good_job/job.rb:827: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:782:in 'block in GoodJob::Job#perform'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/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:1016:in 'GoodJob::Job#reset_batch_values'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
      "/app/app/models/good_job/job.rb:776:in 'GoodJob::Job#perform'",
      "/app/app/models/good_job/job.rb:407: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:357:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'",
      "/app/app/models/concerns/good_job/advisory_lockable.rb:357:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:465:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
      "/app/app/models/concerns/good_job/advisory_lockable.rb:352: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/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
      "/app/app/models/good_job/job.rb:404:in 'GoodJob::Job.perform_with_advisory_lock'",
      "/app/app/models/good_job/job.rb:425:in 'GoodJob::Job.perform_with_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/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:100:in 'GoodJob::CapsuleTracker#register'",
      "/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
      "/app/lib/good_job/scheduler.rb:285:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
      "/app/lib/good_job/scheduler.rb:284:in 'block in GoodJob::Scheduler#create_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/timer_set.rb:99:in 'block in Concurrent::TimerSet#ns_post_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'Kernel#loop'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/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/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'"
    ],
    "error_event": "retried",
    "finished_at": "2026-10-15 19:32:24 UTC",
    "job_class": "ExampleJob",
    "process_id": "557036a7-f92f-4ae3-afc1-2eda544cf2cf",
    "queue_name": "default",
    "scheduled_at": "2026-10-15 19:32:22 UTC",
    "updated_at": "2026-10-15 19:32:24 UTC"
  }
}
25ms Dans la file d'attente
49ms Durée
Mis au rebut
Erreur: ExampleJob::ExpectedError: Executed 1 time.
app/jobs/example_job.rb:54:in 'ExampleJob#perform'
/app/demo/app/jobs/example_job.rb:54:in 'ExampleJob#perform'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/i18n-1.15.2/lib/i18n.rb:383:in 'I18n::Base#with_locale'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'
/app/app/models/good_job/job.rb:828:in 'block (3 levels) in GoodJob::Job#perform'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
/app/app/models/good_job/job.rb:827: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:782:in 'block in GoodJob::Job#perform'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/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:1016:in 'GoodJob::Job#reset_batch_values'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/app/app/models/good_job/job.rb:776:in 'GoodJob::Job#perform'
/app/app/models/good_job/job.rb:407: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:357:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'
/app/app/models/concerns/good_job/advisory_lockable.rb:357:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:465:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:352: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/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'
/app/app/models/good_job/job.rb:404:in 'GoodJob::Job.perform_with_advisory_lock'
/app/app/models/good_job/job.rb:425:in 'GoodJob::Job.perform_with_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/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:100:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:285:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'
/app/lib/good_job/scheduler.rb:284:in 'block in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/timer_set.rb:169:in 'block (2 levels) in Concurrent::TimerSet#process_tasks'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'Kernel#loop'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/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/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'
/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'
{
  "job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
  "locale": "en",
  "priority": -10,
  "timezone": "UTC",
  "arguments": [
    "error_five_times"
  ],
  "job_class": "ExampleJob",
  "executions": 0,
  "queue_name": "default",
  "enqueued_at": "2026-10-15T19:31:51.090427365Z",
  "scheduled_at": "2026-10-15T19:32:19.090258003Z",
  "provider_job_id": null,
  "exception_executions": {},
  "_good_job_execution": {
    "id": "46788505-9d18-4d5d-889d-dacf1e007374",
    "active_job_id": "7c6f4d25-1fcf-407c-a424-da3e55b0d1da",
    "created_at": "2026-10-15 19:32:19 UTC",
    "duration": "0.049203",
    "error": "ExampleJob::ExpectedError: Executed 1 time.",
    "error_backtrace": [
      "/app/demo/app/jobs/example_job.rb:54:in 'ExampleJob#perform'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:68:in 'block in ActiveJob::Execution#_perform_job'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:110:in 'ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:67:in 'ActiveJob::Execution#_perform_job'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:44:in 'ActiveJob::Instrumentation#_perform_job'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:51:in 'ActiveJob::Execution#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'block in ActiveJob::Instrumentation#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:12:in 'block in ActiveRecord::Railties::JobRuntime#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:34:in 'block in ActiveJob::Instrumentation#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:33:in 'ActiveJob::Instrumentation#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/railties/job_runtime.rb:10:in 'ActiveRecord::Railties::JobRuntime#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/instrumentation.rb:26:in 'ActiveJob::Instrumentation#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'block in ActiveJob::Logging#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:39:in 'ActiveJob::Logging#tag_logger'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/logging.rb:32:in 'ActiveJob::Logging#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block (2 levels) in ActiveJob::ExecutionState#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/core_ext/time/zones.rb:65:in 'Time.use_zone'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:7:in 'block in ActiveJob::ExecutionState#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/i18n-1.15.2/lib/i18n.rb:383:in 'I18n::Base#with_locale'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution_state.rb:6:in 'ActiveJob::ExecutionState#perform_now'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:29:in 'block in ActiveJob::Execution::ClassMethods#execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:86:in 'block (4 levels) in <class:Railtie>'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/railtie.rb:85:in 'block (3 levels) in <class:Railtie>'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activejob-8.1.4/lib/active_job/execution.rb:27:in 'ActiveJob::Execution::ClassMethods#execute'",
      "/app/app/models/good_job/job.rb:828:in 'block (3 levels) in GoodJob::Job#perform'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'",
      "/app/app/models/good_job/job.rb:827: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:782:in 'block in GoodJob::Job#perform'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/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:1016:in 'GoodJob::Job#reset_batch_values'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'",
      "/app/app/models/good_job/job.rb:776:in 'GoodJob::Job#perform'",
      "/app/app/models/good_job/job.rb:407: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:357:in 'block (2 levels) in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/scoping/default.rb:51:in 'ActiveRecord::Scoping::Default::ClassMethods#unscoped'",
      "/app/app/models/concerns/good_job/advisory_lockable.rb:357:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:465:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
      "/app/app/models/concerns/good_job/advisory_lockable.rb:352: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/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'GoodJob::Job::GeneratedRelationMethods#with_advisory_lock_claim'",
      "/app/app/models/good_job/job.rb:404:in 'GoodJob::Job.perform_with_advisory_lock'",
      "/app/app/models/good_job/job.rb:425:in 'GoodJob::Job.perform_with_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation/delegation.rb:80:in 'block in GoodJob::Job::GeneratedRelationMethods#perform_with_lock'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:1401:in 'ActiveRecord::Relation#_scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/relation.rb:562:in 'ActiveRecord::Relation#scoping'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/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:100:in 'GoodJob::CapsuleTracker#register'",
      "/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
      "/app/lib/good_job/scheduler.rb:285:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:77:in 'block in ActiveSupport::Reloader.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/execution_wrapper.rb:91:in 'ActiveSupport::ExecutionWrapper.wrap'",
      "/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/reloader.rb:74:in 'ActiveSupport::Reloader.wrap'",
      "/app/lib/good_job/scheduler.rb:284:in 'block in GoodJob::Scheduler#create_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in 'block in Concurrent::SafeTaskExecutor#execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'block in Concurrent::Synchronization::MutexLockableObject#synchronize'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Thread::Mutex#synchronize'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in 'Concurrent::Synchronization::MutexLockableObject#synchronize'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in 'Concurrent::SafeTaskExecutor#execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/ivar.rb:170:in 'Concurrent::IVar#safe_execute'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in 'Concurrent::ScheduledTask#process_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/timer_set.rb:169:in 'block (2 levels) in Concurrent::TimerSet#process_tasks'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:382:in 'Concurrent::RubyThreadPoolExecutor::Worker#run_task'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:372:in 'block (3 levels) in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:361:in 'Kernel#loop'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/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/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'Kernel#catch'",
      "/app/vendor/bundle/ruby/4.0.0/gems/concurrent-ruby-1.3.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:358:in 'block in Concurrent::RubyThreadPoolExecutor::Worker#create_worker'"
    ],
    "error_event": "retried",
    "finished_at": "2026-10-15 19:32:19 UTC",
    "job_class": "ExampleJob",
    "process_id": "557036a7-f92f-4ae3-afc1-2eda544cf2cf",
    "queue_name": "default",
    "scheduled_at": "2026-10-15 19:32:19 UTC",
    "updated_at": "2026-10-15 19:32:19 UTC"
  }
}