9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'app/jobs/pg_insights/health_check_scheduler_job.rb', line 9
def perform
unless PgInsights.background_jobs_available?
Rails.logger.warn "PgInsights: Background jobs not available, skipping scheduler"
return
end
Rails.logger.debug "PgInsights: Starting health check scheduler"
scheduled_count = 0
HealthCheckResult::VALID_CHECK_TYPES.each do |check_type|
latest = HealthCheckResult.latest_for_type(check_type)
if latest.nil? || !latest.fresh?
if HealthCheckJob.perform_check(check_type)
scheduled_count += 1
Rails.logger.debug "PgInsights: Scheduled health check for #{check_type}"
else
Rails.logger.warn "PgInsights: Failed to schedule health check for #{check_type}"
end
else
Rails.logger.debug "PgInsights: Skipping #{check_type} - data is fresh"
end
end
Rails.logger.info "PgInsights: Health check scheduler completed. Scheduled #{scheduled_count} checks."
end
|