From 64efb6703e9ae26425aaeb9f787c38ba4da04c62 Mon Sep 17 00:00:00 2001 From: Sebastian Serth Date: Tue, 15 Oct 2024 00:07:07 +0200 Subject: [PATCH] Prevent Prometheus initialization during `i18n export` Fixes CODEOCEAN-157 --- config/initializers/prometheus.rb | 1 + lib/prometheus/controller.rb | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/config/initializers/prometheus.rb b/config/initializers/prometheus.rb index 41739c98e..5da56ad34 100644 --- a/config/initializers/prometheus.rb +++ b/config/initializers/prometheus.rb @@ -5,6 +5,7 @@ return unless CodeOcean::Config.new(:code_ocean).read[:prometheus_exporter][:enabled] && !defined?(Rails::Console) return if %w[db: assets:].any? {|task| Rake.application.top_level_tasks.to_s.include?(task) } +return if %w[i18n].any?(File.basename($PROGRAM_NAME)) # Add metric callbacks to all models ActiveSupport.on_load :active_record do diff --git a/lib/prometheus/controller.rb b/lib/prometheus/controller.rb index ba6b0b533..cc135fd32 100644 --- a/lib/prometheus/controller.rb +++ b/lib/prometheus/controller.rb @@ -10,7 +10,9 @@ module Controller class << self def initialize_metrics - return unless CodeOcean::Config.new(:code_ocean).read[:prometheus_exporter][:enabled] && defined?(::Rails::Console).blank? + return unless CodeOcean::Config.new(:code_ocean).read[:prometheus_exporter][:enabled] && !defined?(Rails::Console) + return if %w[db: assets:].any? {|task| Rake.application.top_level_tasks.to_s.include?(task) } + return if %w[i18n].any?(File.basename($PROGRAM_NAME)) register_metrics Rails.application.executor.wrap do