BeanstalkD
worker
BeanstalkD | worker | |
---|---|---|
14 | 19 | |
6,477 | 1,645 | |
0.3% | 1.2% | |
0.0 | 9.7 | |
5 days ago | 9 days ago | |
C | TypeScript | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
BeanstalkD
-
Ruby 3.3
There's beanstalkd, it has a few Python libraries and it works out of the box with ActiveJob via Backburner.
https://beanstalkd.github.io/
-
A Developer's Journal: Simplifying the Twelve-Factor App
Messaging/Queueing Systems (Amazon SQS, RabbitMQ, Beanstalkd)
- Load Balancing
-
SQL Maxis: Why We Ditched RabbitMQ and Replaced It with a Postgres Queue
Not when a queue is involved. IME trying to replicate something like beanstalkd (https://beanstalkd.github.io/) in postgres is asking for trouble for anything but trivial workloads.
If you're measuring throughput in jobs/s, use a real work queue.
-
Christmas giveaway: 10 copies of my book Domain-driven Design with Golang book, also AMA
Before Kafka was a standard, I created a go library for beanstalkd that act like an RPC.
-
PHP parallel processing idea
Then there are queue libraries like beanstalkd, RabbitMQ or built-in features like queues from Laravel. These will probably get you quicker to your goal then trying the process managing route.
- How to do distributed cronjobs with worker queues?
-
Write Your Own Task Queue
The only task queue I loved was beanstalkd -- it's beautifully written and highly performant. Starting it takes seconds and it's been running for a decade:
https://beanstalkd.github.io/
- Golang task queue
-
What are some popular background job processing frameworks in the Rust ecosystem?
It's not rust (it's C), but beanstalkd is a pretty incredible work queue that processes millions of jobs a day (10K+/s at peak) for my company. I know there are a few rust drivers available.
worker
-
Postgres as Queue
Big fan of Graphile Worker to handle this job. https://github.com/graphile/worker
- GitHub - graphile/worker: High performance Node.js/PostgreSQL job queue (also suitable for getting jobs generated by PostgreSQL triggers/functions out into a different work queue)
- High performance Node.js/PostgreSQL job queue
-
Choose Postgres Queue Technology
I do enjoy using https://github.com/graphile/worker for my postgresql queuing needs. Very scalable, the next release 0.14 even more so, and easy to use.
-
PGMQ: Simple Message Queues Built on Postgres
On the same subject (job queue based on PostgreSQL), I'm successfully using the https://github.com/graphile/worker/ (NodeJS) project in production.
Jobs are written in Javascript.
-
How Trigger.dev makes serverless background jobs possible
Postgres is used both as a store of state for Runs/Tasks and for the Job queue (we use Graphile Worker).
-
Intro to PostGraphile V5 (Part 2): Plugins and Presets
Having now built V5's unified plugins and presets system, I'm extremely pleased with it! I'm so happy, in fact, that I'm looking forward to integrating it with Graphile's other tools such as Graphile Worker (our Postgres-backed job queue) and Graphile Migrate (a lightweight SQL-based migration framework that focuses on DX) once V5 is out and stable.
-
SQL Maxis: Why We Ditched RabbitMQ and Replaced It with a Postgres Queue
Another good library for this is Graphile Worker:
https://github.com/graphile/worker
Uses both listen notify and advisory locks so it is using all the right features. And you can enqueue a job from sql and plpgsql triggers. Nice!
Worker is in Node js.
https://github.com/graphile/worker
- whats the difference bewteen SQL Qeues and server queues ?
-
How to schedule tasks in a Node.js app 🕙
See also graphile-worker: https://github.com/graphile/worker (lower latency than pg-boss because it uses LISTEN/NOTIFY)
What are some alternatives?
RabbitMQ - Open source RabbitMQ: core server and tier 1 (built-in) plugins
pg-boss - Queueing jobs in Node.js using PostgreSQL like a boss
Apache Kafka - Mirror of Apache Kafka
dramatiq - A fast and reliable background task processing library for Python 3.
Gearman
good_job - Multithreaded, Postgres-based, Active Job backend for Ruby on Rails.
NATS - High-Performance server for NATS.io, the cloud and edge native messaging system.
start - Kyoto starter project
celery - Distributed Task Queue (development branch)
r2dbc-postgresql - Postgresql R2DBC Driver
nsq - A realtime distributed messaging platform
Redis - Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.