main
1package main
2
3import (
4 "c0/gatekeeper/pkg/x"
5 "encoding/json"
6 "fmt"
7 "time"
8
9 "github.com/gobuffalo/buffalo/worker"
10 "github.com/nats-io/nats.go"
11)
12
13func main() {
14 connection := x.Must(nats.Connect(nats.DefaultURL))
15 defer connection.Close()
16
17 stream := x.Must(connection.JetStream())
18
19 stream.QueueSubscribe("gtkpr.jobs.job_1", "default", func(msg *nats.Msg) {
20 var args worker.Args
21 json.Unmarshal(msg.Data, &args)
22
23 fmt.Printf("job: %v\n", args)
24 })
25
26 stream.QueueSubscribe("gtkpr.event.even", "even", func(msg *nats.Msg) {
27 var args worker.Args
28 json.Unmarshal(msg.Data, &args)
29
30 fmt.Printf("even: %v\n", args)
31 msg.Ack()
32 })
33
34 stream.QueueSubscribe("gtkpr.event.odd", "odd", func(msg *nats.Msg) {
35 var args worker.Args
36 json.Unmarshal(msg.Data, &args)
37
38 fmt.Printf("odd: %v\n", args)
39 msg.Ack()
40 })
41 stream.QueueSubscribe("gtkpr.event.*", "all", func(msg *nats.Msg) {
42 var args worker.Args
43 json.Unmarshal(msg.Data, &args)
44
45 fmt.Printf("all: %v\n", args)
46 msg.Ack()
47 })
48
49 for {
50 time.Sleep(10 * time.Second)
51 }
52}