module Admin
class DashboardController < BaseController
+ SIDEKIQ_QUEUES = %w(default push mailers pull scheduler).freeze
+
def index
+ missing_queues = Sidekiq::ProcessSet.new.reduce(SIDEKIQ_QUEUES) { |queues, process| queues - process['queues'] }
+
+ flash.now[:alert] = I18n.t('admin.dashboard.misconfigured_sidekiq_alert', queues: missing_queues.join(', ')) unless missing_queues.empty?
+
@users_count = User.count
@pending_users_count = User.pending.count
@registrations_week = Redis.current.get("activity:accounts:local:#{current_week}") || 0
feature_timeline_preview: Timeline preview
features: Features
hidden_service: Federation with hidden services
+ misconfigured_sidekiq_alert: 'No Sidekiq process seems to be handling the following queues: %{queues}. Please review your Sidekiq configuration.'
open_reports: open reports
pending_tags: hashtags waiting for review
pending_users: users waiting for review