Skip to content

Commit b87d0c9

Browse files
Refactor tutorial 2
1 parent fc0dc7f commit b87d0c9

File tree

2 files changed

+37
-41
lines changed

2 files changed

+37
-41
lines changed

go/emit_log.go

+25-24
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,23 @@ import (
44
"github.com/streadway/amqp"
55
"log"
66
"os"
7+
"fmt"
78
)
89

9-
func main() {
10-
conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")
10+
func failOnError(err error, msg string) {
1111
if err != nil {
12-
log.Fatalf("Dial: %s", err)
13-
return
12+
log.Fatalf("%s: %s", msg, err)
13+
panic(fmt.Sprintf("%s: %s", msg, err))
1414
}
15+
}
16+
17+
func main() {
18+
conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")
19+
failOnError(err, "Failed to connect to RabbitMQ")
1520
defer conn.Close()
1621

1722
ch, err := conn.Channel()
18-
if err != nil {
19-
log.Fatalf("Channel: %s", err)
20-
return
21-
}
22-
23+
failOnError(err, "Failed to open a channel")
2324
defer ch.Close()
2425

2526
err = ch.ExchangeDeclare(
@@ -31,18 +32,9 @@ func main() {
3132
false, // noWait
3233
nil, // arguments
3334
)
34-
if err != nil {
35-
log.Fatalf("Exchange Declare: %s", err)
36-
return
37-
}
35+
failOnError(err, "Failed to declare an exchange")
3836

39-
var body string
40-
if os.Args[1] == "" {
41-
body = "hello"
42-
} else {
43-
body = os.Args[1]
44-
45-
}
37+
body := bodyFrom(os.Args)
4638
err = ch.Publish(
4739
"logs", // exchange
4840
"", // routing key
@@ -53,11 +45,20 @@ func main() {
5345
Body: []byte(body),
5446
})
5547

56-
if err != nil {
57-
log.Fatalf("Exchange Publish: %s", err)
58-
return
59-
}
48+
failOnError(err, "Failed to publish a message")
6049
log.Printf(" [x] Sent %s", body)
6150

6251
os.Exit(0)
6352
}
53+
54+
func bodyFrom(args []string) string {
55+
var body string
56+
if (len(args) < 1) || os.Args[1] == "" {
57+
body = "hello"
58+
} else {
59+
body = os.Args[1]
60+
61+
}
62+
63+
return body
64+
}

go/receive_logs.go

+12-17
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,23 @@ import (
44
"github.com/streadway/amqp"
55
"log"
66
"os"
7+
"fmt"
78
)
89

9-
func main() {
10-
conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")
10+
func failOnError(err error, msg string) {
1111
if err != nil {
12-
log.Fatalf("Dial: %s", err)
13-
return
12+
log.Fatalf("%s: %s", msg, err)
13+
panic(fmt.Sprintf("%s: %s", msg, err))
1414
}
15+
}
16+
17+
func main() {
18+
conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")
19+
failOnError(err, "Failed to connect to RabbitMQ")
1520
defer conn.Close()
1621

1722
ch, err := conn.Channel()
18-
if err != nil {
19-
log.Fatalf("Channel: %s", err)
20-
return
21-
}
22-
23+
failOnError(err, "Failed to open a channel")
2324
defer ch.Close()
2425

2526
q, err := ch.QueueDeclare(
@@ -30,20 +31,14 @@ func main() {
3031
false, // noWait
3132
nil, // arguments
3233
)
33-
if err != nil {
34-
log.Fatalf("Queue Declare: %s", err)
35-
return
36-
}
34+
failOnError(err, "Failed to declare a queue")
3735
err = ch.QueueBind(
3836
q.Name, // queue name
3937
"", // routing key
4038
"logs", // exchange
4139
false,
4240
nil)
43-
if err != nil {
44-
log.Fatalf("Queue Bind: %s", err)
45-
return
46-
}
41+
failOnError(err, "Failed to bind a queue")
4742

4843
msgs, err := ch.Consume(q.Name, "", true, false, false, false, nil)
4944

0 commit comments

Comments
 (0)