ratus
gocelery
Our great sponsors
ratus | gocelery | |
---|---|---|
12 | 6 | |
101 | 2,316 | |
- | 0.8% | |
8.3 | 0.0 | |
7 days ago | 8 months ago | |
Go | Go | |
Apache License 2.0 | 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.
ratus
-
Ratus - a RESTful asynchronous task queue server.
The Go ecosystem has many brilliant distributed task queue libraries, but sometimes we still have to settle for some bloated cross-platform solution in order to work with components written in other languages. To solve this problem, we created Ratus, which is a service, not a library. It translated concepts of distributed task queues into a set of resources that conform to REST principles and provides an easy-to-use HTTP API. Ratus is implemented in Go, and comes with a Go client library. Asynchronous task queues are typically used for long-running background tasks, so the overhead of the HTTP API is not significant compared to the time spent by the tasks themselves. On the other hand, the HTTP-based RESTful API can be easily accessed by all languages without using dedicated client libraries.
-
Ratus: RESTful asynchronous task queue server
To solve this problem, we created Ratus, which is a service, not a library. It translated concepts of distributed task queues into a set of resources that conform to REST principles and provides an easy-to-use HTTP API. Ratus is implemented in Go, and comes with a Go client library. The current default storage engine is MongoDB (in-memory store coming soon), we will also try to integrate existing Go task queue libraries.
- Show HN: Ratus – RESTful asynchronous task queue server
-
Golang task queue
I've been working on https://github.com/hyperonym/ratus which is a RESTful asynchronous task queue server, it also comes with a Go client library.
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?
taskrunner - :peach: a configurable task runner written in go
machinery - Machinery is an asynchronous task queue/job queue based on distributed message passing.
tork - A distributed workflow engine
temporal - Temporal service
Asynq - Simple, reliable, and efficient distributed task queue in Go
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.
guble - websocket based messaging server written in golang
go-micro - A Go microservices framework
taskq - Golang asynchronous task/job queue with Redis, SQS, IronMQ, and in-memory backends
celeriac - Golang client library for adding support for interacting and monitoring Celery workers, tasks and events.
go-events - :mega: Pure nodejs EventEmmiter for the Go Programming Language.
grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC