package main import ( "c0/gatekeeper/pkg/x" "encoding/json" "fmt" "time" "github.com/gobuffalo/buffalo/worker" "github.com/nats-io/nats.go" ) func main() { connection := x.Must(nats.Connect(nats.DefaultURL)) defer connection.Close() stream := x.Must(connection.JetStream()) stream.QueueSubscribe("gtkpr.jobs.job_1", "default", func(msg *nats.Msg) { var args worker.Args json.Unmarshal(msg.Data, &args) fmt.Printf("job: %v\n", args) }) stream.QueueSubscribe("gtkpr.event.even", "even", func(msg *nats.Msg) { var args worker.Args json.Unmarshal(msg.Data, &args) fmt.Printf("even: %v\n", args) msg.Ack() }) stream.QueueSubscribe("gtkpr.event.odd", "odd", func(msg *nats.Msg) { var args worker.Args json.Unmarshal(msg.Data, &args) fmt.Printf("odd: %v\n", args) msg.Ack() }) stream.QueueSubscribe("gtkpr.event.*", "all", func(msg *nats.Msg) { var args worker.Args json.Unmarshal(msg.Data, &args) fmt.Printf("all: %v\n", args) msg.Ack() }) for { time.Sleep(10 * time.Second) } }