-
Notifications
You must be signed in to change notification settings - Fork 61
Migrate background jobs from DelayedJob to Solid Queue (#2656) #2721
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
stuzart
wants to merge
55
commits into
main
Choose a base branch
from
solid-queue-2656
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 46 commits
Commits
Show all changes
55 commits
Select commit
Hold shift + click to select a range
a25a16d
Add migration plan for moving from DelayedJob to Solid Queue (#2656)
stuzart f2c1f11
Decouple Solid Queue cutover from migrating historical delayed_jobs r…
stuzart 7693892
Resolve database and thread-safety open questions in plan (#2656)
stuzart 7cc8ec1
Complete most of Phase 0: thread-safety audit and version check (#2656)
stuzart a0d28b0
Decide queue topology for Phase 0: replicate 1:1, consolidate later (…
stuzart de7b1e2
Add Solid Queue alongside DelayedJob, no cutover yet (#2656)
stuzart 6a877e8
Complete Phase 2: local/dev verification of Solid Queue (#2656)
stuzart fa9c3c1
Replace DelayedJob worker infra with Solid Queue (#2656)
stuzart 4c1e8af
Cutover: flip ActiveJob adapter to Solid Queue (#2656)
stuzart ec63256
Add manual testing guide for Solid Queue (#2656)
stuzart a2406eb
Fix db:setup FK drop-order failure on MySQL (#2656)
stuzart 24060f0
Fix inflated background job worker count, list active queues (#2656)
stuzart be39297
Fix double-scheduling and missing recurring-job worker (#2656)
stuzart 91b4baf
Reduce Solid Queue worker polling interval to cut idle DB load (#2656)
stuzart 64db398
Make Solid Queue code comments self-contained (#2656)
stuzart 700b562
Apply job offset to hour-frequency recurring jobs (#2656)
stuzart a0d756a
Fix failed-job error display and N+1 in admin job queue panel (#2656)
stuzart eca6c08
Merge branch 'main' into solid-queue-2656
stuzart 3a81fda
Move CacheOverflowCleanupJob to recurring.yml (#2656)
stuzart ffa164b
Remove unused job scheduling period constants (#2656)
stuzart 8b2b9b9
Add alternative Sidekiq migration plan and comparison (#2656)
stuzart 6d8918c
Add Mission Control - Jobs dashboard (experimental, mission-control b…
stuzart e18a253
Link to the Job queue dashboard from admin pages (mission-control bra…
stuzart 5bea66a
Keep finished Solid Queue jobs for 14 days (mission-control branch)
stuzart fd459db
Simplify job queue stats heading to 'Total jobs waiting' (#2656)
stuzart e165e90
Move sitemap refresh to a recurring job, drop dead session-trim task …
stuzart 869a0bb
Update job statistics test for "Total jobs waiting" heading text (#2656)
stuzart 70d3158
Remove whenever gem, feed static crontab to supercronic (#2656)
stuzart 83781d3
Merge branch 'mission-control' into solid-queue-2656
stuzart 658fe0d
Migrate leftover delayed_jobs into Solid Queue on upgrade (#2656)
stuzart b9947cd
Add code review notes for the Solid Queue migration (#2656)
stuzart dab475d
Redefine the jobs:* rake tasks against Solid Queue (#2656)
stuzart 86d6720
Report what jobs:workoff and jobs:check actually did (#2656)
stuzart 2f3cc5c
Merge branch 'main' into solid-queue-2656
stuzart d17d58a
Reword code comments to describe present behaviour, not migration his…
stuzart d108009
Drop the regular_job_offset minute-stagger from recurring schedules (…
stuzart 9bfe185
Fix weekly digest coverage gap; document cron format in recurring.yml…
stuzart 630f9f8
Record review findings #1 (fixed) and #2 (not a real problem) (#2656)
stuzart 2499c63
Point docker-compose at fairdom/seek:solid-queue for local testing (#…
stuzart 93ad630
Merge branch 'main' into solid-queue-2656
stuzart 8efa591
Reword Mission Control comments to describe present state (#2656)
stuzart 16fa53c
Harden Solid Queue supervisor status and worker restart edge cases (#…
stuzart 31f7a3d
Record review finding #3 as fixed (#2656)
stuzart f94595f
Revert docker-compose image to fairdom/seek:main; remove working docs…
stuzart 1c41e54
Depend on chronic explicitly (#2656)
stuzart 1f41606
Expect 8 background job workers in deployment check (#2656)
stuzart f2dc750
Address Copilot review comments on Solid Queue PR (#2656)
stuzart 08188e8
Log when the Solid Queue supervisor starts, not just when it exits (#…
stuzart f543eb1
Add jobs:stop and jobs:restart rake tasks (#2656)
stuzart e303898
removed some unnecessary gemfile comments
stuzart 621c432
Define SolidQueue.runner_pidfile as the single source for the runner …
stuzart 8c8577d
Restore daemonized seek:workers:start/stop/restart/status tasks (#2656)
stuzart 20a63c5
Show a restarting notice with a refresh link after restarting workers…
stuzart 2404283
Take the worker log path from Rails config, not a hand-built path (#2…
stuzart 21225c1
Keep the news feed refresh schedule a valid cron for any cache timeou…
stuzart File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| # Base controller for the Mission Control - Jobs dashboard (mounted at /jobs). The engine's own | ||
| # controllers inherit from this, so gating it here reuses SEEK's existing admin authentication | ||
| # (login_required + is_user_admin_auth) rather than the gem's default HTTP Basic auth - only a | ||
| # logged-in admin can reach the queue dashboard. | ||
| class MissionControlJobsController < ApplicationController | ||
| before_action :login_required | ||
| before_action :is_user_admin_auth | ||
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| # Regenerates the XML sitemap from config/sitemap.rb and pings search engines. Scheduled | ||
| # periodically via config/recurring.yml. verbose: false keeps it quiet in the job logs. | ||
| class SitemapRefreshJob < ApplicationJob | ||
| def perform | ||
| SitemapGenerator::Interpreter.run(verbose: false) | ||
| SitemapGenerator::Sitemap.ping_search_engines | ||
| end | ||
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.