X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/bfe0ea9b824dc057f07355a928ccb64ab68b6c57..e0f045ddedd05716bd813f801654308d3bbd2dd0:/services/api/config/initializers/reload_config.rb diff --git a/services/api/config/initializers/reload_config.rb b/services/api/config/initializers/reload_config.rb index bdc815099d..b54e3bcf87 100644 --- a/services/api/config/initializers/reload_config.rb +++ b/services/api/config/initializers/reload_config.rb @@ -2,11 +2,10 @@ # # SPDX-License-Identifier: AGPL-3.0 -if !File.owned?(Rails.root.join('tmp')) - Rails.logger.debug("reload_config: not owner of #{Rails.root}/tmp, skipping") -elsif ENV["ARVADOS_CONFIG"] == "none" - Rails.logger.debug("reload_config: no config in use, skipping") -else +# When updating this, please make the same changes in +# apps/workbench/config/initializers/reload_config.rb as well. + +def start_reload_thread Thread.new do lockfile = Rails.root.join('tmp', 'reload_config.lock') File.open(lockfile, File::WRONLY|File::CREAT, 0600) do |f| @@ -64,3 +63,15 @@ else end end end + +if !File.owned?(Rails.root.join('tmp')) + Rails.logger.debug("reload_config: not owner of #{Rails.root}/tmp, skipping") +elsif ENV["ARVADOS_CONFIG"] == "none" + Rails.logger.debug("reload_config: no config in use, skipping") +elsif defined?(PhusionPassenger) + PhusionPassenger.on_event(:starting_worker_process) do |forked| + start_reload_thread + end +else + start_reload_thread +end