Conversation
ZimbiX
left a comment
There was a problem hiding this comment.
This is looking great. Nice work =)
Providing a Docker Compose service for running PostgreSQL, with a script for running the tests, makes it a lot easier to get started for developing Que. You no longer need to have installed & started PostgreSQL, set `DATABASE_URL` appropriately, or created a database for Que. Different versions of PostgreSQL can also be tested easily, by setting `POSTGRES_VERSION` - e.g. `auto/test-postgres-14`. This setup follows GreenSync conventions, although `auto/test` is not used on GitHub Actions. I've used the latest Ruby Docker image for Ruby 2.7. We can update this to Ruby 3 in #319.
|
Sorry if I've missed this elsewhere, but what's the target for this? When it's good to go, target v2? |
|
@keithlayne wrote:
I think that's the plan. We'd like to release 1.0 after we're satisfied that the current beta release doesn't have any issues, then these changes would come in as 2.0 (after another beta release in between to test them out). Is Ruby 3 support something you need urgently or are able to test? We want to be guided by the community in terms of developing and documenting an upgrade process. |
|
Thanks for the info. It's not urgent for us, but we're pre-release so I'd be willing to roll with the beta and help with testing and upgrade process. Just hook me up with that early-bird discount. I think that this is our only dep really holding us back from trying out ruby 3 right now. |
|
It would be quite nice if it worked with ruby 3. A few months ago I started a project with ruby 3 and it was time to decide on the job library. Que looks very interesting, but it doesn't make me feel good to have to go back to ruby 2.7. |
6267f6b to
fad4c12
Compare
|
We have switched to this branch for an upcoming ruby |
|
Hi @compactcode, thanks for the offer. Certainly some real-world testing would be great; let us know how you go. In terms of what's left to do development-wise, it's as @maddymarkovitz said above: we just need to work out a suitable upgrade process from Que 1 for those who can't afford to clear their jobs table. I'm thinking we need to provide the ability to run both Que 1 and Que 2 simultaneously, so that existing jobs (with keyword arguments in the |
d6a2403 to
78ff282
Compare
Providing a Docker Compose service for running PostgreSQL, with a script for running the tests, makes it a lot easier to get started for developing Que. You no longer need to have installed & started PostgreSQL, set `DATABASE_URL` appropriately, or created a database for Que. Different versions of PostgreSQL can also be tested easily, by setting `POSTGRES_VERSION` - e.g. `auto/test-postgres-14`. This setup follows GreenSync conventions, although `auto/test` is not used on GitHub Actions. I've used the latest Ruby Docker image for Ruby 2.7. We can update this to Ruby 3 in #319.
|
Rebased to avoid conflicts |
6598450 to
c61de71
Compare
ccbfdb5 to
2a859b4
Compare
This one was used prior to v1.3.0, before polling needed to take into account `job_schema_version`
|
Rebased to avoid conflicts in changelog and version file |
…ecify the latest 1.x
Rubinius hasn't had any activity in a couple of years, and it isn't supported by the GitHub Actions ruby/setup-ruby@v1 action anyway.
…t everywhere we manually insert into the table
… requirement, and clarifying what job options are
|
Damn, I thought I'd finally finished it, and was about to merge and release, but noticed we hadn't done this so added it to the todo to tackle later:
|
Que and Rails (Active Job QueAdapter) have applied changes each other to support Ruby 3 keyword arguments and options provided as top level keywords, etc via these commits: rails#44734 rails#44248 que-rb/que@d9244b9 via que-rb/que#319 Finally, we've found it is quite difficult to maintain them. Going forward Active Job Que adapter can be included in the future version of que gem itself. Refer to rails#45899 the background for this change. Active Job Que adapter can be included in the future version of que gem itself.
NOTE: still in draftShould resolve #311
Depends on: #334
There is still a bit of cleanup to do yet (commit history is a bit of a mess), but here is a first cut at supporting ruby 3. Builds on the work of @ollym and @siegy22.Notable changes
argsandkwargs.2.76.0TODO
kwargscolumnjob_options(include searching by.enqueue)job_schema_versionas 2 when enqueueing jobs:Que.job_schema_versionto 2job_schema_versioncolumn defaultjob_schema_versionque_poll_idx_with_job_schema_version(from migration 5) toque_poll_idx(after we drop the original)