Skip to content

Conversation

@flavorjones
Copy link
Owner

This is a rebase of rails#601

@flavorjones flavorjones force-pushed the flavorjones/claimed-executions-by-process-name branch from e0fff0c to ba1bef4 Compare October 21, 2025 21:55
p-schlickmann and others added 29 commits October 23, 2025 11:57
- Updated Appraisals to include a new entry for Rails 8.1 with the appropriate railties version.
- Modified GitHub Actions workflow to include the new Rails 8.1 gemfile in the CI process.
- Created a new gemfile for Rails 8.1 to manage dependencies.

This ensures compatibility with the latest Rails version and enhances CI testing.
Remove deprecated loading of `statistics.rake` from Rakefile
Process#register and #degister for the supervisor to start up
properly.

RecurringSchedule#reload_tasks resolves all the records immediately to
avoid deferred resolution outside the executor block.

Supervisor#handle_claimed_jobs_by wraps its code in the executor.

A second attempt at rails#655 without causing the issues from rails#670
Default logging levels changed in rails/rails@308594b5
…rails#661)

* print warning on startup if path to configuration file does not exist

* change `assert_predicate` to `assert`

Co-authored-by: Rosa Gutierrez <[email protected]>

---------

Co-authored-by: Rosa Gutierrez <[email protected]>
And include it in the host application's deprecators.
It's been a long time already since version 1.0 went out.
To be used as `bin/rails solid_queue:update` to copy new migrations.

The new migration links claimed executions to processes with
`process_name`, and replaces the unique index on processes on
`supervisor_id, name` with just `name`, as we'll want the name to
uniquely identify a process because we'll rely on that to release
claimed executions, independently from the supervisor. Even though it
was really unlikely to have a collision on name because these are set
randomly with `SecureRandom.hex(10)`, in this way we guarantee it.

fix
People installing Solid Queue for the first time will get the final
schema. Migrations are idempotent so they can later update and run
migrations without any problems.
We can only use this if new migrations have been run. If not, we just
emit a deprecation warning and continue as before.
In the deprecation warning and upgrade instructions.
Some environments (e.g., test) may not create the database, and so we
should check that the table exists (which uses the schema cache) to
skip the column lookup and the pending-migration warning.
@flavorjones flavorjones force-pushed the flavorjones/claimed-executions-by-process-name branch from e266ab0 to 5352b72 Compare October 30, 2025 10:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants