Comments (5)
@hlascelles Thanks for the question. You're right that the overlap of features is very similar. The differentiators for me, that might not matter to you is:
- GoodJob is much simpler than Que and GoodJob solely targets Rails/ActiveJob. I've personally been blocked waiting for Que to be patched when Rails upgrades.
- GoodJob specifically targets
schema.rb
compatibility. Que requires changing fromschema.rb
tostructure.sql
because Que uses database triggers. That means GoodJob is likely slightly less performant than Que, but thats the tradeoff for simplicity/compatibility.
I need to think about how to present these things in the Readme. No matter how I present it, GoodJob's Readme will be biased towards GoodJob. It's also threading a needle because in no way do I want to imply that any other queuing backend is inadequate. They're all great, history has shown that, but each serve different use-cases and needs.
What do you think of this comparison?
Multithreaded | Database | Integrity | Latency | |
---|---|---|---|---|
GoodJob | ||||
Que | structure.sql |
|||
Delayed Job | ||||
Sidekiq | ||||
Sidekiq Pro |
from good_job.
@oyeanuj Awesome suggestion
Could you take 2 min to let me know what non-architectural questions/categories you are curious?
from good_job.
Could you do a section in the README comparing it directly to que?
As I understand it they are both high performance, postgres backed, ruby language async job workers with retries, named queues and the DB ACID guarantees. We've used que for years and it works very well.
It would be great to hear the pros and cons of each!
from good_job.
@bensheldon Sorry that I missed the notification of your instant response!
As someone looking to choose a library for a project, I was mostly looking for feature comparison around retries, wait, error handling, and failing. I'm not sure this is a very satisfying answer, but mostly it boils down to better understanding the tradeoffs of using this vs sidekiq or shoryuken (for eg, implications of using Postgres vs Redis)
Hope that is helpful!
from good_job.
Thanks everyone for the feedback! <feature>
expander because I wanted it near the top but also didn't want it to overwhelm and distract from "getting started".
from good_job.
Related Issues (20)
- High CPU usage on database when worker count > perform_limit HOT 1
- discard.active_job doesn't get triggered when jobs are discarded HOT 1
- Jobs scheduled to run in the future never run in ActionDispatch::IntegrationTests HOT 12
- Override locales and conflict with rails-i18n HOT 4
- Fix flakey async test thread error HOT 2
- [Not Critical] Too much space (One) in db/migrate/XXXXXX_create_index_good_jobs_jobs_on_priority_created_at_when_unfinished.rb HOT 3
- Does good_job automatically retry on ActiveRecord::LockWaitTimeout? HOT 1
- Rails 7.1 - Serialized columns like a store now needs a `coder: JSON` HOT 5
- Really fast jobs run one at a time HOT 17
- GoodJob's JavaScript takes precedence over application's JavaScript in GoodJob 3.12.6, Rails 7 HOT 4
- ArgumentError in GoodJob::Jobs#index HOT 2
- Avoid querying through `serialized_params` HOT 4
- What is `concurrency_key` used for? HOT 2
- No route matches [POST] "/scheduler-dashboard/jobs/<id>/retry" HOT 2
- How do I clear queue during tests? HOT 2
- ActionView::Template::Error - undefined method `symbolize_keys' HOT 6
- "Discarded" covers several different error-handling scenarios and they should be disambiguated HOT 12
- Error not added to log in Docker HOT 3
- Investigating performance issues with good_job HOT 28
- PgHero reporting duplicate index HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from good_job.