Sidekiq en Heroku
Guía básica para agregar Sidekiq a tu proyecto de Ruby on Rails alojado en Heroku
Paso 1: Agrega Redis
Sidekiq necesita Redis para funcionar. En Heroku, puedes agregar el addon Redis To Go:
heroku addons:create redistogo:nano
Paso 2: Agrega las gemas
Agrega las siguientes gemas a tu Gemfile:
gem 'redis'
gem 'sidekiq'
Ejecuta bundle install:
bundle install
Paso 3: Configura el Procfile
Agrega un worker de Sidekiq a tu Procfile:
web: bundle exec puma -C config/puma.rb
worker: bundle exec sidekiq -e production
Paso 4: Configura el entorno
En tu archivo de configuración de entorno (config/environments/production.rb o config/application.rb), configura Active Job para usar Sidekiq:
config.active_job.queue_adapter = :sidekiq
Paso 5: Configura las rutas de Sidekiq (opcional)
Si deseas acceder al panel de Sidekiq desde tu navegador, agrega lo siguiente a tu archivo config/routes.rb. Es recomendable protegerlo con autenticación (ejemplo con Devise):
require 'sidekiq/web'
authenticate :user, ->(user) { user.admin? } do
mount Sidekiq::Web => '/sidekiq'
end
Paso 6: Escala tu worker
No olvides escalar el worker en Heroku:
heroku ps:scale worker=1