amqp
gocelery
amqp | gocelery | |
---|---|---|
6 | 6 | |
4,801 | 2,322 | |
- | 0.3% | |
1.9 | 0.0 | |
8 months ago | 8 months ago | |
Go | Go | |
BSD 2-clause "Simplified" License | 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.
amqp
-
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.
gocelery
-
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
- How to plan and execute a large number of tasks in Go?
- Python/Django to Golang questions
-
Switching from Celery and Python to Go
What about https://github.com/gocelery/gocelery ?
-
For those running Go in production at scale, what do you use for distributed task queues?
go-celery (https://github.com/gocelery/gocelery): Celery port in Go. Not much recent activity so a bit worried it's abandoned.
-
Autoscaling Redis applications on Kubernetes 🚀🚀
Please note that this blog post uses a Golang application (thanks to gocelery!) as an example, but the same applies to Python or any other application that uses the Celery protocol.
What are some alternatives?
go-rabbitmq - A wrapper of streadway/amqp that provides reconnection logic and sane defaults
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
temporal - Temporal service
PHP AMQP - The most widely used PHP client for RabbitMQ
Nomad - Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized applications. Nomad is easy to operate and scale and has native Consul and Vault integrations.
rogerRabbit-go - wrapper & drop-in replacement for streadway/ampq with automatic reconnects
go-micro - A Go microservices framework
gue - Golang queue on top of PostgreSQL
celeriac - Golang client library for adding support for interacting and monitoring Celery workers, tasks and events.
o3 - Open-source implementation of the Threema protocol in Go.
grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC