gem "sidekiq", "~> 6.2"
gem "sidekiq-failures"
class Application < Rails::Application
config.active_job.queue_adapter = :sidekiq
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 7.0
max_threads_count = ENV.fetch("RAILS_MAX_THREADS") { 10 }
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 10 } %>
This prevents sidekiq active record ActiveRecord::ConnectionTimeoutError
errors.
Add worker
worker: bundle exec sidekiq
Require sidekiq before routes.draw
and add route for admin user (ignore admin if user table does not have admin column).
require 'sidekiq/web'
Rails.application.routes.draw do
authenticate :user, lambda { |u| u.admin? } do
mount Sidekiq::Web => '/sidekiq'
end
# rest of routes...
If using hatchbox add new process worker
bundle exec sidekiq