snapshot of https://github.com/ThreeDotsLabs/watermill.git (master, 2026-09-15; blobs > 131072B omitted)
Some checks failed
master / ci (push) Failing after 0s

This commit is contained in:
upstream-mirror
2026-09-15 21:27:46 +05:00
commit ce933d1277
538 changed files with 46504 additions and 0 deletions

View File

@@ -0,0 +1,75 @@
package main
import (
"context"
"net/http"
"sync"
"github.com/ThreeDotsLabs/watermill"
"github.com/ThreeDotsLabs/watermill-redisstream/pkg/redisstream"
"github.com/ThreeDotsLabs/watermill-routing-example/server/common"
"github.com/ThreeDotsLabs/watermill/message"
"github.com/ThreeDotsLabs/watermill/message/router/middleware"
"github.com/redis/go-redis/v9"
)
func main() {
logger := watermill.NewStdLogger(false, false)
router, err := message.NewRouter(message.RouterConfig{}, logger)
if err != nil {
panic(err)
}
router.AddMiddleware(middleware.Recoverer)
pubClient := redis.NewClient(&redis.Options{
Addr: "redis:6379",
})
publisher, err := redisstream.NewPublisher(
redisstream.PublisherConfig{
Client: pubClient,
},
logger,
)
if err != nil {
panic(err)
}
subClient := redis.NewClient(&redis.Options{
Addr: "redis:6379",
})
subscriber, err := redisstream.NewSubscriber(
redisstream.SubscriberConfig{
Client: subClient,
},
logger,
)
go func() {
err = router.Run(context.Background())
if err != nil {
panic(err)
}
}()
<-router.Running()
storage := &storage{
lock: &sync.Mutex{},
receivedMessages: map[string][]common.MessageReceived{},
}
httpRouter := Handler{
storage: storage,
subscriber: subscriber,
publisher: publisher,
logger: logger,
lastIDs: map[string]int{},
}
err = http.ListenAndServe(":8080", httpRouter.Mux())
if err != nil {
panic(err)
}
}