Remove display of local Sidekiq process in /admin/sidekiq

In a cloud-native or high-availability configuration, Sidekiq may not
be running on the same node as the Web worker. The output of the `ps`
output does not work in this case and can mislead admins that
Sidekiq isn't running. Remove it in favor of the Sidekiq dashboard,
which shows local processes using the Redis information.

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/46133
This commit is contained in:
Stan Hu 2018-11-15 06:33:23 -08:00
parent bf31bd0d82
commit 23bcbf04c8
3 changed files with 5 additions and 43 deletions

View File

@ -1,9 +1,4 @@
# frozen_string_literal: true
class Admin::BackgroundJobsController < Admin::ApplicationController
def show
ps_output, _ = Gitlab::Popen.popen(%W(ps ww -U #{Gitlab.config.gitlab.user} -o pid,pcpu,pmem,stat,start,command))
@sidekiq_processes = ps_output.split("\n").grep(/sidekiq \d+\.\d+\.\d+/)
@concurrency = Sidekiq.options[:concurrency]
end
end

View File

@ -6,43 +6,5 @@
%p.light GitLab uses #{link_to "sidekiq", "http://sidekiq.org/"} library for async job processing
%hr
.card
.card-header Sidekiq running processes
.card-body
- if @sidekiq_processes.empty?
%h4.cred
%i.fa.fa-exclamation-triangle
There are no running sidekiq processes. Please restart GitLab
- else
.table-holder
%table.table
%thead
%th USER
%th PID
%th CPU
%th MEM
%th STATE
%th START
%th COMMAND
%tbody
- @sidekiq_processes.each do |process|
%tr
%td= gitlab_config.user
- parse_sidekiq_ps(process).each do |value|
%td= value
.clearfix
%p
%i.fa.fa-exclamation-circle
If '[#{@concurrency} of #{@concurrency} busy]' is shown, restart GitLab.
= link_to sprite_icon('question', size: 16), help_page_path('administration/restart_gitlab')
%p
%i.fa.fa-exclamation-circle
If more than one sidekiq process is listed, stop GitLab, kill the remaining sidekiq processes (sudo pkill -u #{gitlab_config.user} -f sidekiq) and restart GitLab.
= link_to sprite_icon('question', size: 16), help_page_path('administration/restart_gitlab')
.card
%iframe{ src: sidekiq_path, width: '100%', height: 970, style: "border: 0" }

View File

@ -0,0 +1,5 @@
---
title: Remove display of local Sidekiq process in /admin/sidekiq
merge_request: 23118
author:
type: fixed