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:
parent
bf31bd0d82
commit
23bcbf04c8
|
@ -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
|
||||
|
|
|
@ -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" }
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Remove display of local Sidekiq process in /admin/sidekiq
|
||||
merge_request: 23118
|
||||
author:
|
||||
type: fixed
|
Loading…
Reference in New Issue