miniqueue
BeanstalkD
miniqueue | BeanstalkD | |
---|---|---|
5 | 14 | |
195 | 6,477 | |
- | 0.3% | |
0.0 | 0.0 | |
about 1 year ago | 4 days ago | |
Go | C | |
MIT License | GNU General Public License v3.0 or later |
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.
miniqueue
-
Show HN: Goqite, a persistent message queue Go library built on SQLite
Also did something very similar, but swapped out the storage layer with an embed of leveldb.
Also supports both an HTTP and Redis API.
https://github.com/tomarrell/miniqueue
-
Write Your Own Task Queue
Interesting, I took this to heart a couple of years ago and came up with something with a serious focus on simplicity within a niche.
https://github.com/tomarrell/miniqueue
-
For those running Go in production at scale, what do you use for distributed task queues?
Have been working on https://github.com/tomarrell/miniqueue, intentionally non distributed though for simplicity
- Show HN: Dead-Simple Message Queue
- Show HN: Miniqueue – Simple, single-binary message queue
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.
What are some alternatives?
machinery - Machinery is an asynchronous task queue/job queue based on distributed message passing.
RabbitMQ - Open source RabbitMQ: core server and tier 1 (built-in) plugins
gocelery - Celery Distributed Task Queue in Go
Apache Kafka - Mirror of Apache Kafka
cadence - Cadence is a distributed, scalable, durable, and highly available orchestration engine to execute asynchronous long-running business logic in a scalable and resilient way.
Gearman
nsq - A realtime distributed messaging platform
NATS - High-Performance server for NATS.io, the cloud and edge native messaging system.
Asynq - Simple, reliable, and efficient distributed task queue in Go
celery - Distributed Task Queue (development branch)
docker-compose - Temporal docker-compose files