Migrate ActiveJob adapter from delayed_job to Sidekiq #2445
+296
−77
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Replaces delayed_job with Sidekiq for background job processing. Sidekiq provides better performance through Redis-backed queuing versus database-backed queuing, and is actively maintained.
Core Changes
delayed_job_active_recordwithsidekiq(> 7.0) and> 5.0)redis(:sidekiq, create Sidekiq initializer with Redis connection and queue configuration matching previous delayed_job setup (single retry, 24-hour timeout)lib/seek/workers.rbto manage Sidekiq processes while preserving existing rake task interface (seek:workers:start/stop/restart/status)clear_failed_jobsto use Sidekiq API (Sidekiq::DeadSet,Sidekiq::RetrySet) instead of ActiveRecord queriesInfrastructure
REDIS_URLenvironment variabledelayed_jobstable (irreversible)log/sidekiq.logBackward Compatibility
Rake tasks and admin interface unchanged. Added
delayed_job_pidsalias inSeek::Utilto maintain compatibility with existing code that checks worker status.Migration Path
Requires Redis running (localhost:6379 or
REDIS_URLenv var). SeeMIGRATION_NOTES_SIDEKIQ.mdfor installation steps and troubleshooting.Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.