diff --git a/app/models/good_job/process.rb b/app/models/good_job/process.rb index b0d04c2b3e..0d02238be8 100644 --- a/app/models/good_job/process.rb +++ b/app/models/good_job/process.rb @@ -63,6 +63,10 @@ def self.ns_current_state cron_enabled: GoodJob.configuration.enable_cron?, total_succeeded_executions_count: GoodJob::Scheduler.instances.sum { |scheduler| scheduler.stats.fetch(:succeeded_executions_count) }, total_errored_executions_count: GoodJob::Scheduler.instances.sum { |scheduler| scheduler.stats.fetch(:errored_executions_count) }, + database_connection_pool: { + size: connection_pool.size, + active: connection_pool.connections.count(&:in_use?), + }, } end diff --git a/spec/app/models/good_job/process_spec.rb b/spec/app/models/good_job/process_spec.rb index fd27086acd..b0a740c4fb 100644 --- a/spec/app/models/good_job/process_spec.rb +++ b/spec/app/models/good_job/process_spec.rb @@ -23,6 +23,17 @@ end end + describe '.ns_current_state' do + it 'contains information about the process' do + expect(described_class.ns_current_state).to include( + database_connection_pool: include( + size: be_an(Integer), + active: be_an(Integer) + ) + ) + end + end + describe '.register' do it 'registers the process' do process = nil