Pro Web UI
Last synchronized at 2026-01-12T22:47:32Z
See the [[Monitoring]] page for basics on setting up Sidekiq’s Web UI. To activate the Sidekiq Pro web features, you must require it in your config/routes.rb:
require 'sidekiq/pro/web'
Your::Application.routes.draw do
mount Sidekiq::Web => '/sidekiq'
end
Sharding
Sidekiq Pro can monitor multiple Sidekiq shards in a single web process. You must create a different connection pool for each shard and mount a different copy of the Web UI for each shard:
require 'sidekiq-pro'
require 'sidekiq/pro/web'
# Sidekiq Pro 4.x and 5.x
POOL1 = ConnectionPool.new { Redis.new(:url => "redis://localhost:6379/0") }
POOL2 = ConnectionPool.new { Redis.new(:url => "redis://localhost:6378/0") }
# Sidekiq Pro 7.x
POOL1 = Sidekiq::RedisConnection.create(url: "redis://localhost:6379/1")
POOL2 = Sidekiq::RedisConnection.create(url: "redis://localhost:6379/2")
mount Sidekiq::Web => '/sidekiq' # default
mount Sidekiq::Pro::Web.with(redis_pool: POOL1), at: '/sidekiq1', as: 'sidekiq1' # shard1
mount Sidekiq::Pro::Web.with(redis_pool: POOL2), at: '/sidekiq2', as: 'sidekiq2' # shard2
Rack example, in app.ru, then run with bundle exec rackup app.ru:
require 'sidekiq-pro'
require 'sidekiq/pro/web'
require 'securerandom'
require 'rack/urlmap'
require 'pry'
# 4.x and 5.x
POOL1 = ConnectionPool.new(size: 5, timeout: 5) { Redis.new(url: 'redis://redis_2:6379/0') }
POOL2 = ConnectionPool.new(size: 5, timeout: 5) { Redis.new(url: 'redis://redis_3:6379/0') }
# 7.x
POOL1 = Sidekiq::RedisConnection.create(url: "redis://redis_2:6379/0")
POOL2 = Sidekiq::RedisConnection.create(url: "redis://redis_3:6379/0")
use Rack::Session::Cookie, secret: SecureRandom.hex(32), same_site: true, max_age: 86_400
run Rack::URLMap.new(
'/sidekiq' => Sidekiq::Web,
'/sidekiq1' => Sidekiq::Pro::Web.with(redis_pool: POOL1),
'/sidekiq2' => Sidekiq::Pro::Web.with(redis_pool: POOL2),
)
- API
- Active-Job
- Advanced-Options
- Batches
- Best-Practices
- Build-vs-Buy
- Bulk-Queueing
- Comm-Installation
- Commercial-FAQ
- Commercial-Support
- Commercial-collaboration
- Complex-Job-Workflows-with-Batches
- Delayed-extensions
- Deployment
- Devise
- Embedding
- Ent-Encryption
- Ent-Historical-Metrics
- Ent-Leader-Election
- Ent-Multi-Process
- Ent-Periodic-Jobs
- Ent-Rate-Limiting
- Ent-Rolling-Restarts
- Ent-Unique-Jobs
- Ent-Web-UI
- Error-Handling
- FAQ
- Getting-Started
- Heroku
- Home
- Iteration
- Job-Format
- Job-Lifecycle
- Kubernetes
- Logging
- Memory
- Metrics
- Middleware
- Miscellaneous-Features
- Monitoring
- Pro-API
- Pro-Expiring-Jobs
- Pro-Metrics
- Pro-Reliability-Client
- Pro-Reliability-Server
- Pro-Web-UI
- Problems-and-Troubleshooting
- Profiling
- Really-Complex-Workflows-with-Batches
- Related-Projects
- Reliability
- Scaling
- Scheduled-Jobs
- Sharding
- Signals
- Testimonials
- Testing
- The-Basics
- Using-Dragonfly
- Using-Redis