Refactor tutorial 2

This commit is contained in:
Michael Klishin 2013-10-17 22:44:55 +04:00
parent fc0dc7f6e4
commit b87d0c966b
2 changed files with 37 additions and 41 deletions

View File

@ -4,22 +4,23 @@ import (
"github.com/streadway/amqp"
"log"
"os"
"fmt"
)
func failOnError(err error, msg string) {
if err != nil {
log.Fatalf("%s: %s", msg, err)
panic(fmt.Sprintf("%s: %s", msg, err))
}
}
func main() {
conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")
if err != nil {
log.Fatalf("Dial: %s", err)
return
}
failOnError(err, "Failed to connect to RabbitMQ")
defer conn.Close()
ch, err := conn.Channel()
if err != nil {
log.Fatalf("Channel: %s", err)
return
}
failOnError(err, "Failed to open a channel")
defer ch.Close()
err = ch.ExchangeDeclare(
@ -31,18 +32,9 @@ func main() {
false, // noWait
nil, // arguments
)
if err != nil {
log.Fatalf("Exchange Declare: %s", err)
return
}
failOnError(err, "Failed to declare an exchange")
var body string
if os.Args[1] == "" {
body = "hello"
} else {
body = os.Args[1]
}
body := bodyFrom(os.Args)
err = ch.Publish(
"logs", // exchange
"", // routing key
@ -53,11 +45,20 @@ func main() {
Body: []byte(body),
})
if err != nil {
log.Fatalf("Exchange Publish: %s", err)
return
}
failOnError(err, "Failed to publish a message")
log.Printf(" [x] Sent %s", body)
os.Exit(0)
}
func bodyFrom(args []string) string {
var body string
if (len(args) < 1) || os.Args[1] == "" {
body = "hello"
} else {
body = os.Args[1]
}
return body
}

View File

@ -4,22 +4,23 @@ import (
"github.com/streadway/amqp"
"log"
"os"
"fmt"
)
func failOnError(err error, msg string) {
if err != nil {
log.Fatalf("%s: %s", msg, err)
panic(fmt.Sprintf("%s: %s", msg, err))
}
}
func main() {
conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")
if err != nil {
log.Fatalf("Dial: %s", err)
return
}
failOnError(err, "Failed to connect to RabbitMQ")
defer conn.Close()
ch, err := conn.Channel()
if err != nil {
log.Fatalf("Channel: %s", err)
return
}
failOnError(err, "Failed to open a channel")
defer ch.Close()
q, err := ch.QueueDeclare(
@ -30,20 +31,14 @@ func main() {
false, // noWait
nil, // arguments
)
if err != nil {
log.Fatalf("Queue Declare: %s", err)
return
}
failOnError(err, "Failed to declare a queue")
err = ch.QueueBind(
q.Name, // queue name
"", // routing key
"logs", // exchange
false,
nil)
if err != nil {
log.Fatalf("Queue Bind: %s", err)
return
}
failOnError(err, "Failed to bind a queue")
msgs, err := ch.Consume(q.Name, "", true, false, false, false, nil)