From 09e9b32e467543a7e01a7347991a740bfd3da2b1 Mon Sep 17 00:00:00 2001 From: Dan Milne Date: Sat, 2 May 2026 23:51:37 +1000 Subject: [PATCH] Run SolidQueue supervisor inside Puma in production Production switched the queue adapter back to :solid_queue but the Puma plugin had been removed, so jobs (e.g. invitation resend) enqueued fine but never ran. Clinch ships as a single container, so always start the supervisor in production rather than gating on SOLID_QUEUE_IN_PUMA. Co-Authored-By: Claude Opus 4.7 (1M context) --- config/deploy.yml | 4 ---- config/puma.rb | 4 +++- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/config/deploy.yml b/config/deploy.yml index a58c051..7fa0175 100644 --- a/config/deploy.yml +++ b/config/deploy.yml @@ -38,10 +38,6 @@ env: secret: - RAILS_MASTER_KEY clear: - # Run the Solid Queue Supervisor inside the web server's Puma process to do jobs. - # When you start using multiple servers, you should split out job processing to a dedicated machine. - SOLID_QUEUE_IN_PUMA: true - # Set number of processes dedicated to Solid Queue (default: 1) # JOB_CONCURRENCY: 3 diff --git a/config/puma.rb b/config/puma.rb index 5771f2b..e2b40e1 100644 --- a/config/puma.rb +++ b/config/puma.rb @@ -34,7 +34,9 @@ port ENV.fetch("PORT", 3000) # Allow puma to be restarted by `bin/rails restart` command. plugin :tmp_restart -# Solid Queue plugin removed - now using async processor +# Run the Solid Queue supervisor inside Puma. Clinch ships as a single +# container, so the web process is always the worker too. +plugin :solid_queue if ENV.fetch("RAILS_ENV", "development") == "production" # Specify the PID file. Defaults to tmp/pids/server.pid in development. # In other environments, only set the PID file if requested.