3λ°λ¦¬μ΄ λκΈ° μ€
37λ°λ¦¬μ΄ μ€ν μκ°
λ€μ μλλ¨
μ€λ₯:
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column "updated_at" of relation "good_job_concurrency_claims" does not exist
LINE 1: ...s" (key, job_id, locked_by_id, state, created_at, updated_at...
^
-
-
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'PG::Connection#exec'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:572:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1091:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1060:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:570:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/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/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1218:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:569:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:625:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:176:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_update'
/app/app/models/good_job/concurrency_claim.rb:130:in 'GoodJob::ConcurrencyClaim.upsert_claim'
/app/app/models/good_job/concurrency_claim.rb:64:in 'GoodJob::ConcurrencyClaim.claim'
/app/lib/good_job/active_job_extensions/concurrency.rb:202:in 'block (2 levels) in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/app/models/concerns/good_job/advisory_lockable.rb:423:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:416:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'
/app/lib/good_job/active_job_extensions/concurrency.rb:198:in 'block in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'
/app/lib/good_job/active_job_extensions/concurrency.rb:196:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/lib/good_job/active_job_extensions/concurrency.rb:69:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#evaluate'
/app/lib/good_job/active_job_extensions/concurrency.rb:305:in 'block (3 levels) in <module:Concurrency>'
/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'Array#each'
/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'block (2 levels) in <module:Concurrency>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec1#make_lambda'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:179:in 'block in ActiveSupport::Callbacks::Filters::Before#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:669:in 'block in ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'Kernel#catch'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:180:in 'ActiveSupport::Callbacks::Filters::Before#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_before'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'Array#each'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_before'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:109: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:341: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:341: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:336: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:96:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/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:288: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": "e7846206-ede7-4351-89d2-daed1ce99718",
"locale": "en",
"priority": null,
"timezone": "UTC",
"arguments": [
"slow"
],
"job_class": "ExampleJob",
"executions": 8,
"queue_name": "default",
"enqueued_at": "2026-10-09T09:13:08.502934565Z",
"scheduled_at": "2026-10-09T10:26:38.578868705Z",
"provider_job_id": "e7846206-ede7-4351-89d2-daed1ce99718",
"exception_executions": {
"[StandardError]": 8
},
"_good_job_execution": {
"id": "c714c399-fbe9-4339-8660-06106b04fd2c",
"active_job_id": "e7846206-ede7-4351-89d2-daed1ce99718",
"created_at": "2026-10-09 10:26:38 UTC",
"duration": "0.037856",
"error": "ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column \"updated_at\" of relation \"good_job_concurrency_claims\" does not exist\nLINE 1: ...s\" (key, job_id, locked_by_id, state, created_at, updated_at...\n ^\n",
"error_backtrace": [
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'PG::Connection#exec'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:572:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1091:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1060:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:570:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/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/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1218:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:569:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:625:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:176:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_update'",
"/app/app/models/good_job/concurrency_claim.rb:130:in 'GoodJob::ConcurrencyClaim.upsert_claim'",
"/app/app/models/good_job/concurrency_claim.rb:64:in 'GoodJob::ConcurrencyClaim.claim'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:202:in 'block (2 levels) in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:423:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:416:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:198:in 'block in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:196:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:69:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#evaluate'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:305:in 'block (3 levels) in <module:Concurrency>'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'Array#each'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'block (2 levels) in <module:Concurrency>'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'BasicObject#instance_exec'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec1#make_lambda'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:179:in 'block in ActiveSupport::Callbacks::Filters::Before#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:669:in 'block in ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'Kernel#catch'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:180:in 'ActiveSupport::Callbacks::Filters::Before#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_before'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'Array#each'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_before'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:109: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:341: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:341: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:336: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:96:in 'GoodJob::CapsuleTracker#register'",
"/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
"/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/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:288: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-09 10:26:38 UTC",
"job_class": "ExampleJob",
"process_id": "fb97baed-d387-4799-8379-5b3a6f8e3dc5",
"queue_name": "default",
"scheduled_at": "2026-10-09 10:26:38 UTC",
"updated_at": "2026-10-09 10:26:38 UTC"
}
}
2.4μ΄ λ―Έλ§ λκΈ° μ€
82λ°λ¦¬μ΄ μ€ν μκ°
λ€μ μλλ¨
μ€λ₯:
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column "updated_at" of relation "good_job_concurrency_claims" does not exist
LINE 1: ...s" (key, job_id, locked_by_id, state, created_at, updated_at...
^
-
-
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'PG::Connection#exec'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:572:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1091:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1060:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:570:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/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/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1218:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:569:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:625:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:176:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_update'
/app/app/models/good_job/concurrency_claim.rb:130:in 'GoodJob::ConcurrencyClaim.upsert_claim'
/app/app/models/good_job/concurrency_claim.rb:64:in 'GoodJob::ConcurrencyClaim.claim'
/app/lib/good_job/active_job_extensions/concurrency.rb:202:in 'block (2 levels) in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/app/models/concerns/good_job/advisory_lockable.rb:423:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:416:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'
/app/lib/good_job/active_job_extensions/concurrency.rb:198:in 'block in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'
/app/lib/good_job/active_job_extensions/concurrency.rb:196:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/lib/good_job/active_job_extensions/concurrency.rb:69:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#evaluate'
/app/lib/good_job/active_job_extensions/concurrency.rb:305:in 'block (3 levels) in <module:Concurrency>'
/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'Array#each'
/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'block (2 levels) in <module:Concurrency>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec1#make_lambda'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:179:in 'block in ActiveSupport::Callbacks::Filters::Before#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:669:in 'block in ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'Kernel#catch'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:180:in 'ActiveSupport::Callbacks::Filters::Before#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_before'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'Array#each'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_before'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:109: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:341: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:341: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:336: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:96:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/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:288: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": "e7846206-ede7-4351-89d2-daed1ce99718",
"locale": "en",
"priority": null,
"timezone": "UTC",
"arguments": [
"slow"
],
"job_class": "ExampleJob",
"executions": 7,
"queue_name": "default",
"enqueued_at": "2026-10-09T08:32:54.205055523Z",
"scheduled_at": "2026-10-09T09:13:06.018619037Z",
"provider_job_id": "e7846206-ede7-4351-89d2-daed1ce99718",
"exception_executions": {
"[StandardError]": 7
},
"_good_job_execution": {
"id": "11982c3b-6b5b-460c-a06e-b5b998ca971c",
"active_job_id": "e7846206-ede7-4351-89d2-daed1ce99718",
"created_at": "2026-10-09 09:13:08 UTC",
"duration": "0.082345",
"error": "ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column \"updated_at\" of relation \"good_job_concurrency_claims\" does not exist\nLINE 1: ...s\" (key, job_id, locked_by_id, state, created_at, updated_at...\n ^\n",
"error_backtrace": [
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'PG::Connection#exec'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:572:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1091:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1060:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:570:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/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/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1218:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:569:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:625:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:176:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_update'",
"/app/app/models/good_job/concurrency_claim.rb:130:in 'GoodJob::ConcurrencyClaim.upsert_claim'",
"/app/app/models/good_job/concurrency_claim.rb:64:in 'GoodJob::ConcurrencyClaim.claim'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:202:in 'block (2 levels) in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:423:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:416:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:198:in 'block in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:196:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:69:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#evaluate'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:305:in 'block (3 levels) in <module:Concurrency>'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'Array#each'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'block (2 levels) in <module:Concurrency>'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'BasicObject#instance_exec'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec1#make_lambda'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:179:in 'block in ActiveSupport::Callbacks::Filters::Before#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:669:in 'block in ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'Kernel#catch'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:180:in 'ActiveSupport::Callbacks::Filters::Before#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_before'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'Array#each'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_before'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:109: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:341: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:341: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:336: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:96:in 'GoodJob::CapsuleTracker#register'",
"/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
"/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/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:288: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-09 09:13:08 UTC",
"job_class": "ExampleJob",
"process_id": "fb97baed-d387-4799-8379-5b3a6f8e3dc5",
"queue_name": "default",
"scheduled_at": "2026-10-09 09:13:06 UTC",
"updated_at": "2026-10-09 09:13:08 UTC"
}
}
5λ°λ¦¬μ΄ λκΈ° μ€
19λ°λ¦¬μ΄ μ€ν μκ°
λ€μ μλλ¨
μ€λ₯:
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column "updated_at" of relation "good_job_concurrency_claims" does not exist
LINE 1: ...s" (key, job_id, locked_by_id, state, created_at, updated_at...
^
-
-
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'PG::Connection#exec'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:572:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1091:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1060:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:570:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/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/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1218:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:569:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:625:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:176:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_update'
/app/app/models/good_job/concurrency_claim.rb:130:in 'GoodJob::ConcurrencyClaim.upsert_claim'
/app/app/models/good_job/concurrency_claim.rb:64:in 'GoodJob::ConcurrencyClaim.claim'
/app/lib/good_job/active_job_extensions/concurrency.rb:202:in 'block (2 levels) in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/app/models/concerns/good_job/advisory_lockable.rb:423:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:416:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'
/app/lib/good_job/active_job_extensions/concurrency.rb:198:in 'block in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'
/app/lib/good_job/active_job_extensions/concurrency.rb:196:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/lib/good_job/active_job_extensions/concurrency.rb:69:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#evaluate'
/app/lib/good_job/active_job_extensions/concurrency.rb:305:in 'block (3 levels) in <module:Concurrency>'
/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'Array#each'
/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'block (2 levels) in <module:Concurrency>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec1#make_lambda'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:179:in 'block in ActiveSupport::Callbacks::Filters::Before#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:669:in 'block in ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'Kernel#catch'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:180:in 'ActiveSupport::Callbacks::Filters::Before#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_before'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'Array#each'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_before'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:109: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:341: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:341: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:336: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:96:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/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:288: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": "e7846206-ede7-4351-89d2-daed1ce99718",
"locale": "en",
"priority": null,
"timezone": "UTC",
"arguments": [
"slow"
],
"job_class": "ExampleJob",
"executions": 6,
"queue_name": "default",
"enqueued_at": "2026-10-09T08:08:36.238635213Z",
"scheduled_at": "2026-10-09T08:32:54.186444666Z",
"provider_job_id": "e7846206-ede7-4351-89d2-daed1ce99718",
"exception_executions": {
"[StandardError]": 6
},
"_good_job_execution": {
"id": "be2ea7f5-9f03-4348-bc87-e4a27c27873d",
"active_job_id": "e7846206-ede7-4351-89d2-daed1ce99718",
"created_at": "2026-10-09 08:32:54 UTC",
"duration": "0.019097",
"error": "ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column \"updated_at\" of relation \"good_job_concurrency_claims\" does not exist\nLINE 1: ...s\" (key, job_id, locked_by_id, state, created_at, updated_at...\n ^\n",
"error_backtrace": [
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'PG::Connection#exec'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:572:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1091:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1060:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:570:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/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/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1218:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:569:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:625:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:176:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_update'",
"/app/app/models/good_job/concurrency_claim.rb:130:in 'GoodJob::ConcurrencyClaim.upsert_claim'",
"/app/app/models/good_job/concurrency_claim.rb:64:in 'GoodJob::ConcurrencyClaim.claim'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:202:in 'block (2 levels) in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:423:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:416:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:198:in 'block in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:196:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:69:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#evaluate'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:305:in 'block (3 levels) in <module:Concurrency>'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'Array#each'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'block (2 levels) in <module:Concurrency>'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'BasicObject#instance_exec'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec1#make_lambda'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:179:in 'block in ActiveSupport::Callbacks::Filters::Before#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:669:in 'block in ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'Kernel#catch'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:180:in 'ActiveSupport::Callbacks::Filters::Before#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_before'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'Array#each'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_before'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:109: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:341: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:341: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:336: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:96:in 'GoodJob::CapsuleTracker#register'",
"/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
"/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/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:288: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-09 08:32:54 UTC",
"job_class": "ExampleJob",
"process_id": "fb97baed-d387-4799-8379-5b3a6f8e3dc5",
"queue_name": "default",
"scheduled_at": "2026-10-09 08:32:54 UTC",
"updated_at": "2026-10-09 08:32:54 UTC"
}
}
3.0μ΄ λ―Έλ§ λκΈ° μ€
21λ°λ¦¬μ΄ μ€ν μκ°
λ€μ μλλ¨
μ€λ₯:
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column "updated_at" of relation "good_job_concurrency_claims" does not exist
LINE 1: ...s" (key, job_id, locked_by_id, state, created_at, updated_at...
^
-
-
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'PG::Connection#exec'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:572:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1091:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1060:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:570:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/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/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1218:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:569:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:625:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:176:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_update'
/app/app/models/good_job/concurrency_claim.rb:130:in 'GoodJob::ConcurrencyClaim.upsert_claim'
/app/app/models/good_job/concurrency_claim.rb:64:in 'GoodJob::ConcurrencyClaim.claim'
/app/lib/good_job/active_job_extensions/concurrency.rb:202:in 'block (2 levels) in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/app/models/concerns/good_job/advisory_lockable.rb:423:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:416:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'
/app/lib/good_job/active_job_extensions/concurrency.rb:198:in 'block in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'
/app/lib/good_job/active_job_extensions/concurrency.rb:196:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/lib/good_job/active_job_extensions/concurrency.rb:69:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#evaluate'
/app/lib/good_job/active_job_extensions/concurrency.rb:305:in 'block (3 levels) in <module:Concurrency>'
/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'Array#each'
/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'block (2 levels) in <module:Concurrency>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec1#make_lambda'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:179:in 'block in ActiveSupport::Callbacks::Filters::Before#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:669:in 'block in ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'Kernel#catch'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:180:in 'ActiveSupport::Callbacks::Filters::Before#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_before'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'Array#each'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_before'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:109: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:341: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:341: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:336: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:96:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/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:288: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": "e7846206-ede7-4351-89d2-daed1ce99718",
"locale": "en",
"priority": null,
"timezone": "UTC",
"arguments": [
"slow"
],
"job_class": "ExampleJob",
"executions": 5,
"queue_name": "default",
"enqueued_at": "2026-10-09T07:56:57.587974086Z",
"scheduled_at": "2026-10-09T08:08:33.132426995Z",
"provider_job_id": "e7846206-ede7-4351-89d2-daed1ce99718",
"exception_executions": {
"[StandardError]": 5
},
"_good_job_execution": {
"id": "3e5add60-997f-4acc-9abf-6ef619e2ec9e",
"active_job_id": "e7846206-ede7-4351-89d2-daed1ce99718",
"created_at": "2026-10-09 08:08:36 UTC",
"duration": "0.021443",
"error": "ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column \"updated_at\" of relation \"good_job_concurrency_claims\" does not exist\nLINE 1: ...s\" (key, job_id, locked_by_id, state, created_at, updated_at...\n ^\n",
"error_backtrace": [
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'PG::Connection#exec'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:572:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1091:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1060:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:570:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/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/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1218:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:569:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:625:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:176:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_update'",
"/app/app/models/good_job/concurrency_claim.rb:130:in 'GoodJob::ConcurrencyClaim.upsert_claim'",
"/app/app/models/good_job/concurrency_claim.rb:64:in 'GoodJob::ConcurrencyClaim.claim'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:202:in 'block (2 levels) in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:423:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:416:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:198:in 'block in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:196:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:69:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#evaluate'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:305:in 'block (3 levels) in <module:Concurrency>'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'Array#each'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'block (2 levels) in <module:Concurrency>'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'BasicObject#instance_exec'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec1#make_lambda'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:179:in 'block in ActiveSupport::Callbacks::Filters::Before#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:669:in 'block in ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'Kernel#catch'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:180:in 'ActiveSupport::Callbacks::Filters::Before#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_before'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'Array#each'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_before'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:109: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:341: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:341: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:336: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:96:in 'GoodJob::CapsuleTracker#register'",
"/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
"/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/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:288: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-09 08:08:36 UTC",
"job_class": "ExampleJob",
"process_id": "fb97baed-d387-4799-8379-5b3a6f8e3dc5",
"queue_name": "default",
"scheduled_at": "2026-10-09 08:08:33 UTC",
"updated_at": "2026-10-09 08:08:36 UTC"
}
}
5λ°λ¦¬μ΄ λκΈ° μ€
19λ°λ¦¬μ΄ μ€ν μκ°
λ€μ μλλ¨
μ€λ₯:
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column "updated_at" of relation "good_job_concurrency_claims" does not exist
LINE 1: ...s" (key, job_id, locked_by_id, state, created_at, updated_at...
^
-
-
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'PG::Connection#exec'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:572:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1091:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1060:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:570:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/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/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1218:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:569:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:625:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:176:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_update'
/app/app/models/good_job/concurrency_claim.rb:130:in 'GoodJob::ConcurrencyClaim.upsert_claim'
/app/app/models/good_job/concurrency_claim.rb:64:in 'GoodJob::ConcurrencyClaim.claim'
/app/lib/good_job/active_job_extensions/concurrency.rb:202:in 'block (2 levels) in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/app/models/concerns/good_job/advisory_lockable.rb:423:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:416:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'
/app/lib/good_job/active_job_extensions/concurrency.rb:198:in 'block in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'
/app/lib/good_job/active_job_extensions/concurrency.rb:196:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/lib/good_job/active_job_extensions/concurrency.rb:69:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#evaluate'
/app/lib/good_job/active_job_extensions/concurrency.rb:305:in 'block (3 levels) in <module:Concurrency>'
/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'Array#each'
/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'block (2 levels) in <module:Concurrency>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec1#make_lambda'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:179:in 'block in ActiveSupport::Callbacks::Filters::Before#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:669:in 'block in ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'Kernel#catch'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:180:in 'ActiveSupport::Callbacks::Filters::Before#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_before'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'Array#each'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_before'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:109: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:341: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:341: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:336: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:96:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/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:288: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": "e7846206-ede7-4351-89d2-daed1ce99718",
"locale": "en",
"priority": null,
"timezone": "UTC",
"arguments": [
"slow"
],
"job_class": "ExampleJob",
"executions": 4,
"queue_name": "default",
"enqueued_at": "2026-10-09T07:52:29.406154840Z",
"scheduled_at": "2026-10-09T07:56:57.568914113Z",
"provider_job_id": "e7846206-ede7-4351-89d2-daed1ce99718",
"exception_executions": {
"[StandardError]": 4
},
"_good_job_execution": {
"id": "28488af4-bd1e-4c0e-9707-4d3681d71a61",
"active_job_id": "e7846206-ede7-4351-89d2-daed1ce99718",
"created_at": "2026-10-09 07:56:57 UTC",
"duration": "0.019322",
"error": "ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column \"updated_at\" of relation \"good_job_concurrency_claims\" does not exist\nLINE 1: ...s\" (key, job_id, locked_by_id, state, created_at, updated_at...\n ^\n",
"error_backtrace": [
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'PG::Connection#exec'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:572:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1091:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1060:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:570:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/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/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1218:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:569:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:625:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:176:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_update'",
"/app/app/models/good_job/concurrency_claim.rb:130:in 'GoodJob::ConcurrencyClaim.upsert_claim'",
"/app/app/models/good_job/concurrency_claim.rb:64:in 'GoodJob::ConcurrencyClaim.claim'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:202:in 'block (2 levels) in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:423:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:416:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:198:in 'block in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:196:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:69:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#evaluate'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:305:in 'block (3 levels) in <module:Concurrency>'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'Array#each'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'block (2 levels) in <module:Concurrency>'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'BasicObject#instance_exec'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec1#make_lambda'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:179:in 'block in ActiveSupport::Callbacks::Filters::Before#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:669:in 'block in ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'Kernel#catch'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:180:in 'ActiveSupport::Callbacks::Filters::Before#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_before'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'Array#each'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_before'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:109: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:341: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:341: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:336: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:96:in 'GoodJob::CapsuleTracker#register'",
"/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
"/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/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:288: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-09 07:56:57 UTC",
"job_class": "ExampleJob",
"process_id": "fb97baed-d387-4799-8379-5b3a6f8e3dc5",
"queue_name": "default",
"scheduled_at": "2026-10-09 07:56:57 UTC",
"updated_at": "2026-10-09 07:56:57 UTC"
}
}
3.3μ΄ λ―Έλ§ λκΈ° μ€
16λ°λ¦¬μ΄ μ€ν μκ°
λ€μ μλλ¨
μ€λ₯:
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column "updated_at" of relation "good_job_concurrency_claims" does not exist
LINE 1: ...s" (key, job_id, locked_by_id, state, created_at, updated_at...
^
-
-
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'PG::Connection#exec'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:572:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1091:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1060:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:570:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/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/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1218:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:569:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:625:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:176:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_update'
/app/app/models/good_job/concurrency_claim.rb:130:in 'GoodJob::ConcurrencyClaim.upsert_claim'
/app/app/models/good_job/concurrency_claim.rb:64:in 'GoodJob::ConcurrencyClaim.claim'
/app/lib/good_job/active_job_extensions/concurrency.rb:202:in 'block (2 levels) in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/app/models/concerns/good_job/advisory_lockable.rb:423:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:416:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'
/app/lib/good_job/active_job_extensions/concurrency.rb:198:in 'block in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'
/app/lib/good_job/active_job_extensions/concurrency.rb:196:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/lib/good_job/active_job_extensions/concurrency.rb:69:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#evaluate'
/app/lib/good_job/active_job_extensions/concurrency.rb:305:in 'block (3 levels) in <module:Concurrency>'
/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'Array#each'
/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'block (2 levels) in <module:Concurrency>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec1#make_lambda'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:179:in 'block in ActiveSupport::Callbacks::Filters::Before#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:669:in 'block in ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'Kernel#catch'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:180:in 'ActiveSupport::Callbacks::Filters::Before#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_before'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'Array#each'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_before'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:109: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:341: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:341: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:336: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:96:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/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:288: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": "e7846206-ede7-4351-89d2-daed1ce99718",
"locale": "en",
"priority": null,
"timezone": "UTC",
"arguments": [
"slow"
],
"job_class": "ExampleJob",
"executions": 3,
"queue_name": "default",
"enqueued_at": "2026-10-09T07:50:53.251966364Z",
"scheduled_at": "2026-10-09T07:52:26.087177291Z",
"provider_job_id": "e7846206-ede7-4351-89d2-daed1ce99718",
"exception_executions": {
"[StandardError]": 3
},
"_good_job_execution": {
"id": "e9fca066-3ac5-41ac-9602-19de9f035af8",
"active_job_id": "e7846206-ede7-4351-89d2-daed1ce99718",
"created_at": "2026-10-09 07:52:29 UTC",
"duration": "0.016116",
"error": "ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column \"updated_at\" of relation \"good_job_concurrency_claims\" does not exist\nLINE 1: ...s\" (key, job_id, locked_by_id, state, created_at, updated_at...\n ^\n",
"error_backtrace": [
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'PG::Connection#exec'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:572:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1091:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1060:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:570:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/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/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1218:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:569:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:625:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:176:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_update'",
"/app/app/models/good_job/concurrency_claim.rb:130:in 'GoodJob::ConcurrencyClaim.upsert_claim'",
"/app/app/models/good_job/concurrency_claim.rb:64:in 'GoodJob::ConcurrencyClaim.claim'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:202:in 'block (2 levels) in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:423:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:416:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:198:in 'block in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:196:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:69:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#evaluate'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:305:in 'block (3 levels) in <module:Concurrency>'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'Array#each'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'block (2 levels) in <module:Concurrency>'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'BasicObject#instance_exec'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec1#make_lambda'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:179:in 'block in ActiveSupport::Callbacks::Filters::Before#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:669:in 'block in ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'Kernel#catch'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:180:in 'ActiveSupport::Callbacks::Filters::Before#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_before'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'Array#each'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_before'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:109: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:341: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:341: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:336: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:96:in 'GoodJob::CapsuleTracker#register'",
"/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
"/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/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:288: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-09 07:52:29 UTC",
"job_class": "ExampleJob",
"process_id": "fb97baed-d387-4799-8379-5b3a6f8e3dc5",
"queue_name": "default",
"scheduled_at": "2026-10-09 07:52:26 UTC",
"updated_at": "2026-10-09 07:52:29 UTC"
}
}
3λ°λ¦¬μ΄ λκΈ° μ€
18λ°λ¦¬μ΄ μ€ν μκ°
λ€μ μλλ¨
μ€λ₯:
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column "updated_at" of relation "good_job_concurrency_claims" does not exist
LINE 1: ...s" (key, job_id, locked_by_id, state, created_at, updated_at...
^
-
-
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'PG::Connection#exec'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:572:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1091:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1060:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:570:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/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/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1218:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:569:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:625:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:176:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_update'
/app/app/models/good_job/concurrency_claim.rb:130:in 'GoodJob::ConcurrencyClaim.upsert_claim'
/app/app/models/good_job/concurrency_claim.rb:64:in 'GoodJob::ConcurrencyClaim.claim'
/app/lib/good_job/active_job_extensions/concurrency.rb:202:in 'block (2 levels) in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/app/models/concerns/good_job/advisory_lockable.rb:423:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:416:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'
/app/lib/good_job/active_job_extensions/concurrency.rb:198:in 'block in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'
/app/lib/good_job/active_job_extensions/concurrency.rb:196:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/lib/good_job/active_job_extensions/concurrency.rb:69:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#evaluate'
/app/lib/good_job/active_job_extensions/concurrency.rb:305:in 'block (3 levels) in <module:Concurrency>'
/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'Array#each'
/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'block (2 levels) in <module:Concurrency>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec1#make_lambda'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:179:in 'block in ActiveSupport::Callbacks::Filters::Before#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:669:in 'block in ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'Kernel#catch'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:180:in 'ActiveSupport::Callbacks::Filters::Before#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_before'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'Array#each'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_before'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:109: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:341: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:341: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:336: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:96:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/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:288: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": "e7846206-ede7-4351-89d2-daed1ce99718",
"locale": "en",
"priority": null,
"timezone": "UTC",
"arguments": [
"slow"
],
"job_class": "ExampleJob",
"executions": 2,
"queue_name": "default",
"enqueued_at": "2026-10-09T07:50:33.169577085Z",
"scheduled_at": "2026-10-09T07:50:53.236002018Z",
"provider_job_id": "e7846206-ede7-4351-89d2-daed1ce99718",
"exception_executions": {
"[StandardError]": 2
},
"_good_job_execution": {
"id": "345e1896-9bbf-4255-8a14-e2186cf8aac4",
"active_job_id": "e7846206-ede7-4351-89d2-daed1ce99718",
"created_at": "2026-10-09 07:50:53 UTC",
"duration": "0.018193",
"error": "ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column \"updated_at\" of relation \"good_job_concurrency_claims\" does not exist\nLINE 1: ...s\" (key, job_id, locked_by_id, state, created_at, updated_at...\n ^\n",
"error_backtrace": [
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'PG::Connection#exec'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:572:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1091:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1060:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:570:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/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/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1218:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:569:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:625:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:176:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_update'",
"/app/app/models/good_job/concurrency_claim.rb:130:in 'GoodJob::ConcurrencyClaim.upsert_claim'",
"/app/app/models/good_job/concurrency_claim.rb:64:in 'GoodJob::ConcurrencyClaim.claim'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:202:in 'block (2 levels) in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:423:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:416:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:198:in 'block in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:196:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:69:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#evaluate'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:305:in 'block (3 levels) in <module:Concurrency>'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'Array#each'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'block (2 levels) in <module:Concurrency>'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'BasicObject#instance_exec'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec1#make_lambda'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:179:in 'block in ActiveSupport::Callbacks::Filters::Before#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:669:in 'block in ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'Kernel#catch'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:180:in 'ActiveSupport::Callbacks::Filters::Before#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_before'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'Array#each'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_before'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:109: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:341: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:341: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:336: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:96:in 'GoodJob::CapsuleTracker#register'",
"/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
"/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/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:288: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-09 07:50:53 UTC",
"job_class": "ExampleJob",
"process_id": "fb97baed-d387-4799-8379-5b3a6f8e3dc5",
"queue_name": "default",
"scheduled_at": "2026-10-09 07:50:53 UTC",
"updated_at": "2026-10-09 07:50:53 UTC"
}
}
5λ°λ¦¬μ΄ λκΈ° μ€
20λ°λ¦¬μ΄ μ€ν μκ°
λ€μ μλλ¨
μ€λ₯:
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column "updated_at" of relation "good_job_concurrency_claims" does not exist
LINE 1: ...s" (key, job_id, locked_by_id, state, created_at, updated_at...
^
-
-
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'PG::Connection#exec'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:572:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1091:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1060:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:570:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/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/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1218:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:569:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:625:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:176:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_update'
/app/app/models/good_job/concurrency_claim.rb:130:in 'GoodJob::ConcurrencyClaim.upsert_claim'
/app/app/models/good_job/concurrency_claim.rb:64:in 'GoodJob::ConcurrencyClaim.claim'
/app/lib/good_job/active_job_extensions/concurrency.rb:202:in 'block (2 levels) in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/app/models/concerns/good_job/advisory_lockable.rb:423:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:416:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'
/app/lib/good_job/active_job_extensions/concurrency.rb:198:in 'block in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'
/app/lib/good_job/active_job_extensions/concurrency.rb:196:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/lib/good_job/active_job_extensions/concurrency.rb:69:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#evaluate'
/app/lib/good_job/active_job_extensions/concurrency.rb:305:in 'block (3 levels) in <module:Concurrency>'
/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'Array#each'
/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'block (2 levels) in <module:Concurrency>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec1#make_lambda'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:179:in 'block in ActiveSupport::Callbacks::Filters::Before#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:669:in 'block in ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'Kernel#catch'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:180:in 'ActiveSupport::Callbacks::Filters::Before#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_before'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'Array#each'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_before'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:109: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:341: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:341: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:336: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:96:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/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:288: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": "e7846206-ede7-4351-89d2-daed1ce99718",
"locale": "en",
"priority": null,
"timezone": "UTC",
"arguments": [
"slow"
],
"job_class": "ExampleJob",
"executions": 1,
"queue_name": "default",
"enqueued_at": "2026-10-09T07:50:30.112208004Z",
"scheduled_at": "2026-10-09T07:50:33.149727691Z",
"provider_job_id": "e7846206-ede7-4351-89d2-daed1ce99718",
"exception_executions": {
"[StandardError]": 1
},
"_good_job_execution": {
"id": "77ba3bed-1727-437a-add7-6827a6841e17",
"active_job_id": "e7846206-ede7-4351-89d2-daed1ce99718",
"created_at": "2026-10-09 07:50:33 UTC",
"duration": "0.020694",
"error": "ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column \"updated_at\" of relation \"good_job_concurrency_claims\" does not exist\nLINE 1: ...s\" (key, job_id, locked_by_id, state, created_at, updated_at...\n ^\n",
"error_backtrace": [
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'PG::Connection#exec'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:572:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1091:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1060:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:570:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/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/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1218:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:569:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:625:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:176:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_update'",
"/app/app/models/good_job/concurrency_claim.rb:130:in 'GoodJob::ConcurrencyClaim.upsert_claim'",
"/app/app/models/good_job/concurrency_claim.rb:64:in 'GoodJob::ConcurrencyClaim.claim'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:202:in 'block (2 levels) in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:423:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:416:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:198:in 'block in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:196:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:69:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#evaluate'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:305:in 'block (3 levels) in <module:Concurrency>'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'Array#each'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'block (2 levels) in <module:Concurrency>'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'BasicObject#instance_exec'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec1#make_lambda'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:179:in 'block in ActiveSupport::Callbacks::Filters::Before#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:669:in 'block in ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'Kernel#catch'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:180:in 'ActiveSupport::Callbacks::Filters::Before#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_before'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'Array#each'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_before'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:109: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:341: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:341: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:336: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:96:in 'GoodJob::CapsuleTracker#register'",
"/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
"/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/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:288: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-09 07:50:33 UTC",
"job_class": "ExampleJob",
"process_id": "fb97baed-d387-4799-8379-5b3a6f8e3dc5",
"queue_name": "default",
"scheduled_at": "2026-10-09 07:50:33 UTC",
"updated_at": "2026-10-09 07:50:33 UTC"
}
}
54λ°λ¦¬μ΄ λκΈ° μ€
18λ°λ¦¬μ΄ μ€ν μκ°
λ€μ μλλ¨
μ€λ₯:
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column "updated_at" of relation "good_job_concurrency_claims" does not exist
LINE 1: ...s" (key, job_id, locked_by_id, state, created_at, updated_at...
^
-
-
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'PG::Connection#exec'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:572:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1091:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1060:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:570:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/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/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1218:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:569:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:625:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:176:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_update'
/app/app/models/good_job/concurrency_claim.rb:130:in 'GoodJob::ConcurrencyClaim.upsert_claim'
/app/app/models/good_job/concurrency_claim.rb:64:in 'GoodJob::ConcurrencyClaim.claim'
/app/lib/good_job/active_job_extensions/concurrency.rb:202:in 'block (2 levels) in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/app/models/concerns/good_job/advisory_lockable.rb:423:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/app/models/concerns/good_job/advisory_lockable.rb:416:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'
/app/lib/good_job/active_job_extensions/concurrency.rb:198:in 'block in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'
/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'
/app/lib/good_job/active_job_extensions/concurrency.rb:196:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'
/app/lib/good_job/active_job_extensions/concurrency.rb:69:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#evaluate'
/app/lib/good_job/active_job_extensions/concurrency.rb:305:in 'block (3 levels) in <module:Concurrency>'
/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'Array#each'
/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'block (2 levels) in <module:Concurrency>'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'BasicObject#instance_exec'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec1#make_lambda'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:179:in 'block in ActiveSupport::Callbacks::Filters::Before#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:669:in 'block in ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'Kernel#catch'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:180:in 'ActiveSupport::Callbacks::Filters::Before#call'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_before'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'Array#each'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_before'
/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:109: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:341: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:341: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:336: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:96:in 'GoodJob::CapsuleTracker#register'
/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'
/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'
/app/vendor/bundle/ruby/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:288: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": "e7846206-ede7-4351-89d2-daed1ce99718",
"locale": "en",
"priority": null,
"timezone": "UTC",
"arguments": [
"slow"
],
"job_class": "ExampleJob",
"executions": 0,
"queue_name": "default",
"enqueued_at": "2026-10-09T07:50:30.044243388Z",
"scheduled_at": null,
"provider_job_id": null,
"exception_executions": {},
"_good_job_execution": {
"id": "75baaef2-b3b3-424e-87bc-528be9673f01",
"active_job_id": "e7846206-ede7-4351-89d2-daed1ce99718",
"created_at": "2026-10-09 07:50:30 UTC",
"duration": "0.01887",
"error": "ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column \"updated_at\" of relation \"good_job_concurrency_claims\" does not exist\nLINE 1: ...s\" (key, job_id, locked_by_id, state, created_at, updated_at...\n ^\n",
"error_backtrace": [
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'PG::Connection#exec'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:152:in 'ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements#perform_query'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:572:in 'block (2 levels) in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1091:in 'block in ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1060:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#with_raw_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:570:in 'block in ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/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/activerecord-8.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:1218:in 'ActiveRecord::ConnectionAdapters::AbstractAdapter#log'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:569:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#raw_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:625:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#internal_execute'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:176:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#exec_update'",
"/app/app/models/good_job/concurrency_claim.rb:130:in 'GoodJob::ConcurrencyClaim.upsert_claim'",
"/app/app/models/good_job/concurrency_claim.rb:64:in 'GoodJob::ConcurrencyClaim.claim'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:202:in 'block (2 levels) in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:423:in 'block in GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/app/models/concerns/good_job/advisory_lockable.rb:416:in 'GoodJob::AdvisoryLockable::ClassMethods#advisory_lock_key'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:198:in 'block in GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:648:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:645:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:386:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:378:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:234:in 'block (2 levels) in ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:487:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_pool_transaction_isolation_level'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:459:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/connection_handling.rb:313:in 'ActiveRecord::ConnectionHandling#with_connection'",
"/app/vendor/bundle/ruby/4.0.0/gems/activerecord-8.1.4/lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:196:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#check_perform'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:69:in 'GoodJob::ActiveJobExtensions::Concurrency::Rule#evaluate'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:305:in 'block (3 levels) in <module:Concurrency>'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'Array#each'",
"/app/lib/good_job/active_job_extensions/concurrency.rb:304:in 'block (2 levels) in <module:Concurrency>'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'BasicObject#instance_exec'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:429:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec1#make_lambda'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:179:in 'block in ActiveSupport::Callbacks::Filters::Before#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:669:in 'block in ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'Kernel#catch'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:668:in 'ActiveSupport::Callbacks::CallbackChain::DefaultTerminator#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:180:in 'ActiveSupport::Callbacks::Filters::Before#call'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_before'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'Array#each'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:560:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_before'",
"/app/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.4/lib/active_support/callbacks.rb:109: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:341: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:341: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:336: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:96:in 'GoodJob::CapsuleTracker#register'",
"/app/lib/good_job/job_performer.rb:34:in 'GoodJob::JobPerformer#next'",
"/app/lib/good_job/scheduler.rb:289:in 'block (2 levels) in GoodJob::Scheduler#create_task'",
"/app/vendor/bundle/ruby/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:288: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-09 07:50:30 UTC",
"job_class": "ExampleJob",
"process_id": "fb97baed-d387-4799-8379-5b3a6f8e3dc5",
"queue_name": "default",
"scheduled_at": "2026-10-09 07:50:30 UTC",
"updated_at": "2026-10-09 07:50:30 UTC"
}
}