diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-03-15 15:07:44 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-03-15 15:07:44 +0300 |
commit | 6a9ab27963fc1479fe7c78581b942c8dcce322e5 (patch) | |
tree | 8d32f4f66efde1b426658a74d0276e5250091ab7 /sidekiq_cluster | |
parent | 389d5aa505a916b0506b7b73dcc3be342d724976 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'sidekiq_cluster')
-rw-r--r-- | sidekiq_cluster/cli.rb | 8 | ||||
-rw-r--r-- | sidekiq_cluster/sidekiq_cluster.rb | 3 |
2 files changed, 8 insertions, 3 deletions
diff --git a/sidekiq_cluster/cli.rb b/sidekiq_cluster/cli.rb index f366cb26b8e..737d31bbc88 100644 --- a/sidekiq_cluster/cli.rb +++ b/sidekiq_cluster/cli.rb @@ -10,6 +10,7 @@ require 'time' # we may run into "already initialized" warnings, hence the check. require_relative '../lib/gitlab' unless Object.const_defined?('Gitlab') require_relative '../lib/gitlab/utils' +require_relative '../lib/gitlab/daemon' require_relative '../lib/gitlab/sidekiq_config/cli_methods' require_relative '../lib/gitlab/sidekiq_config/worker_matcher' require_relative '../lib/gitlab/sidekiq_logging/json_formatter' @@ -121,11 +122,12 @@ module Gitlab ProcessManagement.write_pid(@pid) if @pid - supervisor = Gitlab::ProcessSupervisor.new( + supervisor = SidekiqProcessSupervisor.instance( health_check_interval_seconds: @interval, terminate_timeout_seconds: @soft_timeout_seconds + TIMEOUT_GRACE_PERIOD_SECONDS, term_signals: TERMINATE_SIGNALS, - forwarded_signals: FORWARD_SIGNALS + forwarded_signals: FORWARD_SIGNALS, + synchronous: true ) metrics_server_pid = start_metrics_server @@ -136,7 +138,7 @@ module Gitlab # If we're not in the process of shutting down the cluster, # and the metrics server died, restart it. if supervisor.alive && dead_pids.include?(metrics_server_pid) - @logger.info('Metrics server terminated, restarting...') + @logger.info('Sidekiq metrics server terminated, restarting...') metrics_server_pid = restart_metrics_server(wipe_metrics_dir: false) all_pids = worker_pids + Array(metrics_server_pid) else diff --git a/sidekiq_cluster/sidekiq_cluster.rb b/sidekiq_cluster/sidekiq_cluster.rb index 3ba3211b0e4..c68cbe7c163 100644 --- a/sidekiq_cluster/sidekiq_cluster.rb +++ b/sidekiq_cluster/sidekiq_cluster.rb @@ -16,6 +16,9 @@ module Gitlab # before we kill the process. TIMEOUT_GRACE_PERIOD_SECONDS = 5 + # The singleton instance used to supervise cluster processes. + SidekiqProcessSupervisor = Class.new(Gitlab::ProcessSupervisor) + # Starts Sidekiq workers for the pairs of processes. # # Example: |