Faktory
BeanstalkD
Faktory | BeanstalkD | |
---|---|---|
23 | 14 | |
5,509 | 6,482 | |
1.1% | 0.4% | |
7.7 | 0.0 | |
9 days ago | 10 days ago | |
Go | C | |
GNU General Public License v3.0 or later | 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.
Faktory
- Faktory: Language-agnostic persistent background job server
-
Ruby 3.3
Mike Perham (the sidekiq maintainer) also maintains the less well known faktory[0] which is language agnostic and has runners for both Ruby and Python
[0] https://github.com/contribsys/faktory
-
Software Disenchantment
Zen and the Art of Motorcycle Maintenance's entire thesis is "What is Quality?" How do you define it? How does it come about?
You can still get software quality but you have to be willing to devote time and effort to it. The binary for my modern, commercial background job engine written in Go, Faktory, is 5MB in size.
https://github.com/contribsys/faktory/releases/tag/v1.8.0
I know when I see an iOS app that is 5-10MB in size, I know it was crafted by someone who cares.
-
Building a PHP client for Faktory, Part 1
My recent queue foray put me on the scent of Faktory, a language-agnostic queue server made by Sidekiq's author. I noticed there wasn't a good PHP client (the one linked in the docs is pretty old), so I decided to build one.
-
What is the best task queue?
At work we use https://github.com/contribsys/faktory
-
New Gem for background job processing from Ruby/Rails -> Crystal
Have you heard of faktory before? Made by the sidekiq guy and allows you to d a similar thing.
- Are there any actively maintained or official Golang libraries for managing work queues?
-
Celery + RabbitMQ alternatives
I’ve started using Faktory with the Faktory Worker Python it also supports workers in any language.
-
Golang task queue
Try https://github.com/contribsys/faktory which is written in go but you interact with it as a service.
-
What are some popular background job processing frameworks in the Rust ecosystem?
There is faktory, from the author of Sidekiq, which is language-agnostic (the server is written in Go).
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?
gocron - Easy and fluent Go cron scheduling. This is a fork from https://github.com/jasonlvhit/gocron
RabbitMQ - Open source RabbitMQ: core server and tier 1 (built-in) plugins
temporal - Temporal service
Apache Kafka - Mirror of Apache Kafka
go-quartz - Minimalist and zero-dependency scheduling library for Go
Gearman
Asynq - Simple, reliable, and efficient distributed task queue in Go
NATS - High-Performance server for NATS.io, the cloud and edge native messaging system.
Sidekiq - Simple, efficient background processing for Ruby
celery - Distributed Task Queue (development branch)
leprechaun - You had one job, or more then one, which can be done in steps
nsq - A realtime distributed messaging platform