Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today. Learn more →
Good_job Alternatives
Similar projects and alternatives to good_job
-
Que
A Ruby job queue that uses PostgreSQL's advisory locks for speed and reliability.
-
Delayed::Job
Database based asynchronous priority queue system -- Extracted from Shopify
-
SonarLint
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
-
-
-
-
Resque
Resque is a Redis-backed Ruby library for creating background jobs, placing them on multiple queues, and processing them later.
-
-
Mergify
Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.
-
-
-
worker
High performance Node.js/PostgreSQL job queue (also suitable for getting jobs generated by PostgreSQL triggers/functions out into a different work queue)
-
Sidekiq::Undertaker
Sidekiq::Undertaker allows exploring, reviving or burying dead jobs.
-
-
-
-
-
aws-sdk-rails
Official repository for the aws-sdk-rails gem, which integrates the AWS SDK for Ruby with Ruby on Rails.
-
-
delayed
a multi-threaded, SQL-driven ActiveJob backend used at Betterment to process millions of background jobs per day
-
neoq
Queue-agnostic background job library for Go, with a pleasant API and powerful features.
-
-
InfluxDB
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
good_job reviews and mentions
-
Choose Postgres Queue Technology
For Rails apps, you can do this using the ActiveJob interface via
https://github.com/bensheldon/good_job
Had it in production for about a quarter and it’s worked well.
-
Pg_later: Asynchronous Queries for Postgres
Idk about pgagent but any table is a resilient queue with the multiple locks available in pg along with some SELECT pg_advisory_lock or SELECT FOR UPDATE queries, and/or LISTEN/NOTIFY.
Several bg job libs are built around native locking functionality
> Relies upon Postgres integrity, session-level Advisory Locks to provide run-once safety and stay within the limits of schema.rb, and LISTEN/NOTIFY to reduce queuing latency.
https://github.com/bensheldon/good_job
> |> lock("FOR UPDATE SKIP LOCKED")
https://github.com/sorentwo/oban/blob/8acfe4dcfb3e55bbf233aa...
-
Introducing tobox: a transactional outbox framework
Probably worth mentioning that aside from delayed_job there are at least two more modern alternatives backed by the DB: Que and good_job.
-
Sidekiq jobs in ActiveRecord transactions
Good article. Sidekiq is a good, well respected too. However if you are starting out I would recommend not using it, and instead choosing a DB based queue system. We have great success with que, but there are others like good_job.
-
Mike Perham of Sidekiq: “If you build something valuable, charge money for it.”
Sidekiq Pro is great, we're paying for it! 10k a year I think.
But for people who are interested in alternatives, I'd also suggest Good Job (runs on Postgresql).
-
SQL Maxis: Why We Ditched RabbitMQ and Replaced It with a Postgres Queue
I'm the GoodJob author. Here's the class that is responsible for implementing Postgres's LISTEN/NOTIFY functionality in GoodJob:
https://github.com/bensheldon/good_job/blob/10e9d9b714a668dc...
That's heavily inspired by Rail's Action Cable (websockets) Adapter for Postgres, which is a bit simpler and easier to understand:
https://github.com/rails/rails/blob/be287ac0d5000e667510faba...
Briefly, it spins up a background thread with a dedicated database connection and doings a blocking Postgres LISTEN query returns results, and then it forwards the result to other subscribing objects.
-
Watching for changes to DB by another app
In this case I would try to set up tcn (a Postgres extension) and a trigger that inserts a job in a goodjob jobs table. https://github.com/bensheldon/good_job is like sidekiq but uses Postgres as a queue.
-
How do you schedule jobs far out in advanced?
Check out https://github.com/bensheldon/good_job
- Ask HN: Companies of one, what is your tech stack?
- GoodJob v3 released: multithreaded, Postgres-based ActiveJob adapter
-
A note from our sponsor - SonarLint
www.sonarlint.org | 30 Sep 2023
Stats
bensheldon/good_job is an open source project licensed under MIT License which is an OSI approved license.
The primary programming language of good_job is Ruby.