Skip to content
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

Compare Sidekiq and GoodJob and define if we should change the standard #515

Open
malparty opened this issue May 31, 2024 · 6 comments
Open
Assignees

Comments

@malparty
Copy link
Member

malparty commented May 31, 2024

Why

Sidekiq now has viable & Prod-ready alternatives. GoodJob is one of them.

Why would we want to replace Sideqik? 👀

First, it requires you to have Redis, an additional infrastructure component to maintain (or pay for).
Second, using Redis for job storage is prone to transactional integrity errors (we talk about this problem and the solution below, so continue reading).


One additional benefit of using GoodJob or SolidQueue is built-in support for recurrent jobs (cron-like). For non-Enterpise Sidekiq, you must use some third-party tool for that.


Source: Gemfile of dream

We might want to create a Discussion or an Engineering Initiative for this topic 🤔
This issue is just to prioritize among other work and ensure we will change the template after this discussion or initiative.

Who Benefits?

Future Projects with cheaper and easier-to-maintain infra.

@malparty malparty changed the title Compare sidekiq and good_job and define if we should change the standard Compare Sidekiq and GoodJob and define if we should change the standard May 31, 2024
@sanG-github sanG-github self-assigned this Jun 13, 2024
@malparty
Copy link
Member Author

Status progress:

  • POC
  • Presentation

@sanG-github
Copy link
Contributor

The comparison can be found on the Notion page, but haven't completed yet.

@sanG-github
Copy link
Contributor

sanG-github commented Sep 19, 2024

The documentation comparing GoodJob and SideKiq has been completed. Next time, I will try presenting it in the Web Chapter.

Btw, we don't need to tackle this integration, as SolidQueue (which has been inspired by GoodJob) will become the default background job management in Rails 8. 🚀

@suho
Copy link
Member

suho commented Sep 30, 2024

@malparty @sanG-github just about to raise SolidQueue after watching Rails World 2024 Opening Keynote, good things coming in Rails 8.

I'm inspired by that opening keynote and will plan my work to join rails templates as a contributor 🙈

@malparty
Copy link
Member Author

@suho @sanG-github we might want to follow up this thread: https://www.reddit.com/r/rails/comments/1g4ua4p/sidekiq_vs_goodjob_vs_solid_queue/

Some concerns for SolidQueue at the moment:

  • Lack of middleware (to check if we even need any middleware in our current projects, I don't think so)
  • Some jobs stopped without any error (only 1 report at the time of writing. Maybe it's due to a bad migration?)

Getting more people to use it first (and raise issues) might be needed before we jump to it on client projects ;-) But it's a very good news still 🚀

@suho
Copy link
Member

suho commented Oct 18, 2024

@malparty We might have an initiative to set up and compare tools (sidekiq, goodjob, solidqueue), then officially use it for rails templates + mention it on Compass

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants