amqp
Go client for AMQP 0.9.1 (by streadway)
machinery
Machinery is an asynchronous task queue/job queue based on distributed message passing. (by RichardKnop)
amqp | machinery | |
---|---|---|
6 | 14 | |
4,801 | 7,292 | |
- | - | |
1.9 | 5.3 | |
8 months ago | 7 days ago | |
Go | Go | |
BSD 2-clause "Simplified" License | Mozilla Public License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
amqp
Posts with mentions or reviews of amqp.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-09-12.
-
message brokers, a brief walk-through
Basically this code, connects to our rabbitmQ using the streadway/amqp package which is the golang standard library for communicating with rabbitmQ, next we declare a unique channel to enable us pass across message to a specific queue. Then we call the Consume function which takes in a parameter of *amqp.Channel which is the channel we created previously.
-
How to plan and execute a large number of tasks in Go?
For rabbitmq I used -> https://github.com/streadway/amqp which is deprecated now for -> https://github.com/rabbitmq/amqp091-go
-
How to send RabbitMQ messages to http.ResponseWriter?
"github.com/streadway/amqp"
-
Any recommended a ‘windows friendly’ c++ library for AMQP please?
I’d also recommend looking into learning Go. I’ve been using this library and it’s great.
-
Which RabbitMQ client library do you use in production?
We're currently using streadway/amqp as RabbitMQ client library. It is well-documented and very stable on the one hand, but on the other hand, it is pretty low-level and leaves up a lot of things to the user. For example, we're in charge of handling the connections and channels ourselves and implemented our very own error handling and reconnection logic as well.
-
Introducing my first open source project: Roger, Rabbit: A RabbitMQ client and drop-in replacement for streadway/amqp with automatic redials, method middleware, and more!
AMQP is a messaging protocol most commonly used by RabbitMQ. As I discuss in the README, the officially sanctioned RabbitMQ driver, streadway/amqp isamazing but does not support automatic redials. If your connection to the message broker goes down, you have to find a way to distribute a new connection to all routines utilizing it. It's always a tedious exercisee, especially when you have multiple projects that work with RabbitMQ.
machinery
Posts with mentions or reviews of machinery.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-02-24.
- Looking for library recommendations: Django -> Golang port
-
Are there any actively maintained or official Golang libraries for managing work queues?
I've had this project starred for a while but haven't used it: https://github.com/RichardKnop/machinery
- Looking for a mature distributed task queuer/scheduler in go
- What would be a good message broker internal to my program?
-
Golang task queue
I had a look at: 1. machinery - https://github.com/RichardKnop/machinery 2. go-celery - https://github.com/gocelery/gocelery 3. asynq - https://github.com/hibiken/asynq 3. taskq - https://github.com/vmihailenco/taskq
-
is there any go library that allows running background tasks after a specified period of time?
you mean a scheduler? try RichardKnop/machinery or hibiken/asynq
-
Using a High-Level RabbitMQ Client in Go
I use this one: https://github.com/RichardKnop/machinery
-
Do you know of a robust library that handles persistent job scheduling and queuing using PostgreSQL
I’ve also used https://github.com/RichardKnop/machinery for for a few projects and it’s solid.
- Distributed asynchronous tasks?
-
Any one knows a job worker project (like Celery) + distributed cron written in Go
Machinery is an asynchronous task queue/job queue based on distributed message passing.
What are some alternatives?
When comparing amqp and machinery you can also consider the following projects:
go-rabbitmq - A wrapper of streadway/amqp that provides reconnection logic and sane defaults
Asynq - Simple, reliable, and efficient distributed task queue in Go
RabbitMQ - Open source RabbitMQ: core server and tier 1 (built-in) plugins
gocelery - Celery Distributed Task Queue in Go
PHP AMQP - The most widely used PHP client for RabbitMQ
celery - Distributed Task Queue (development branch)
rogerRabbit-go - wrapper & drop-in replacement for streadway/ampq with automatic reconnects
go-nsq - The official Go package for NSQ
gue - Golang queue on top of PostgreSQL
temporal - Temporal service
o3 - Open-source implementation of the Threema protocol in Go.
Confluent Kafka Golang Client - Confluent's Apache Kafka Golang client