Asynq
NATS
Our great sponsors
Asynq | NATS | |
---|---|---|
32 | 11 | |
8,471 | 5,074 | |
- | 1.8% | |
7.3 | 9.1 | |
7 days ago | 7 days ago | |
Go | Go | |
MIT License | Apache License 2.0 |
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.
Asynq
-
I have a web app that requires allowing users to schedule a recurring task at their own specified time/interval. How would you go about it?
Asynq does this pretty nicely https://github.com/hibiken/asynq/wiki/Periodic-Tasks
-
Examples of using task scheduler with Go?
Asynq looks promising. Never used it myself. https://github.com/hibiken/asynq
- How to run periodic tasks?
-
What would you rewrite in Golang?
https://github.com/hibiken/asynq is pretty close
-
Suggestions for CRON jobs queue tool
I tried it 2 months ago and it was not suitable for dynamic CRON job enqueue scheduling
Used this recently for a small cronjob-esque application I needed recently. https://github.com/hibiken/asynq
-
I’m looking for a suggestion for a queuing library
My current best option is AsynQ (https://github.com/hibiken/asynq but it uses redid and not Postgres for the db
-
What is the best task queue?
Hi, I'm starting a new project that involves distributing task on different (and possibly distributed) workers in Golang. So I'm looking for the best task queue library to use; for now the ones I like are the following (in no particular order): - asynq - machinery - taskq
-
Should I reuse the connection on Redis or close it after every use?
I just need to ask a question, it's my first time using go, and have been working on a little project of mine that uses: https://github.com/hibiken/asynq
-
Are there any actively maintained or official Golang libraries for managing work queues?
+ asynq
NATS
-
High-Performance server for NATS.io, the cloud and edge native messaging system
(note that NATS Streaming is a now deprecated predecessor to NATS JetStream)
Pull does have advantages over push (e.g. one-to-one flow control since the transfer of the messages is initiated by the client (pull requests)), and they are basically functionally equivalent (only thing push can do that pull can not is send a copy of all the message to all the subscribers, should you ever need it). They both exists because historically push came first and then pull later).
As a developper using NATS JetStream you should really not have to worry about push or pull, you should just care whether you want to consume the messages via call back or via an iterator or via fetching batches, after that whether pull or push is being used underneath the covers is irrelevant to you.
And this is exactly how it is in the new JetStream API (https://github.com/nats-io/nats.go/tree/main/jetstream#readm...) you don't have to worry about push/pull anymore and you can consume in any of the 3 ways described above (callback, iterator, fetch batch) it's all a lot simpler and easier to use.
-
What is the coolest Go open source projects you have seen?
nats: Golang client for NATS, the cloud native messaging system
-
Distributed communication patterns with NATS
Install the nats.go package
- Redis vs. Kafka vs. RabbitMQ
-
Distributed messaging with NATS
Now that our NATS server is running, we'll be using Go and Node.js clients to connect to it for simple demonstration. Not familiar with Go or Node? Don't worry NATS has clients available in over 40 languages!
- How do I build a text editor like notepad using wails
- Modern Communication: Sockets
-
Subscription management in pub/sub system
You could start by looking/reading how it is implemented in production ala https://github.com/nats-io/nats.go
What are some alternatives?
nsq - A realtime distributed messaging platform
machinery - Machinery is an asynchronous task queue/job queue based on distributed message passing.
Centrifugo - Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.
EventBus - [Go] Lightweight eventbus with async compatibility for Go
go-nsq - The official Go package for NSQ
dbus - Native Go bindings for D-Bus
work - Process background jobs in Go
emitter - Emits events in Go way, with wildcard, predicates, cancellation possibilities and many other good wins
Confluent Kafka Golang Client - Confluent's Apache Kafka Golang client
Faktory - Language-agnostic persistent background job server
mangos - mangos is a pure Golang implementation of nanomsg's "Scalablilty Protocols"