watermill
watermill copied to clipboard
Building event-driven applications the easy way in Go.
The current implementation for subscribers essentially starts 3 different routines: 1. one reads messages from the stream, and pushes it to a channel 2. another one monitors pending messages, and...
I couldn't figure out how to do this easily in a reasonable way so I will describe it here in case someone has any ideas. Currently there already exists a...
Replace kafka-console-consumer with mill util. Resolves #130 Is it okay to add an executable to one of the containers?
* Added the `Requeuer` component. * It works as a simpler version of the Forwarder, routing messages from one topic to another (a dynamic one). * Can be used to...
If you take a look at the Timeout middleware: ``` func Timeout(timeout time.Duration) func(message.HandlerFunc) message.HandlerFunc { return func(h message.HandlerFunc) message.HandlerFunc { return func(msg *message.Message) ([]*message.Message, error) { ctx, cancel :=...
Good day! This PR replaces the direct dependency on [github.com/golang/protobuf with google.golang.org/protobuf](https://github.com/ThreeDotsLabs/watermill/commit/0e87d46ab9901e75c39e041cfe4bfd8952087b4f) to avoid using a deprecated package. Doing this included adding the generation code to the Makefile to make...
Hi you have replaced original msg context with msgToSend.SetContext(ctx) and we lost the original context! so to speak : when we call msg.Copy() we don't set original context on new...
Good day! First of thank you for maintaining and providing the watermill package! I opened this PR because I noticed that the `hashicorp/go-multierror` and `github.com/pkg/errors` where added as an indirect...
I can help with adding golangci-lint checkers to avoid issues such had the one I spotted in #460 _Originally posted by @ccoVeille in https://github.com/ThreeDotsLabs/watermill/pull/460#issuecomment-2265243587_
The handlerExecutionTimeBuckets in handler.go are not exposed or configurable. Some clients will be processing messages where the processing time is typically many seconds to minutes. For the clients, the all...