diff --git a/intro_rabbitmq_receiver/receiver.go b/intro_rabbitmq_receiver/receiver.go index efe7753..d594b05 100644 --- a/intro_rabbitmq_receiver/receiver.go +++ b/intro_rabbitmq_receiver/receiver.go @@ -1,7 +1,9 @@ package main import ( + "bytes" "log" + "time" "github.com/streadway/amqp" ) @@ -28,44 +30,44 @@ func main() { // nil, //arguments // ) //lesson 2 - // q, err := ch.QueueDeclare( - // "hello_1", //name - // true, //durable - // false, //delete when unused - // false, //exclusive - // false, //no-wait - // nil, //arguments - // ) - //lesson 3 q, err := ch.QueueDeclare( - "", //name - false, //durable - false, //delete when unused - true, //exclusive - false, //no-wait - nil, //arguments + "hello_1", //name + true, //durable + false, //delete when unused + false, //exclusive + false, //no-wait + nil, //arguments ) - ErrorMsg(err, "Failed to create queue") //lesson 3 - err = ch.ExchangeDeclare( - "logs", //name - "fanout", //type - true, //durable - false, //auto-deleted - false, //internal - false, //no-wait - nil, //arguments - ) - ErrorMsg(err, "Failed to declare exchange") + // q, err := ch.QueueDeclare( + // "", //name + // false, //durable + // false, //delete when unused + // true, //exclusive + // false, //no-wait + // nil, //arguments + // ) + // ErrorMsg(err, "Failed to create queue") //lesson 3 - err = ch.QueueBind( - q.Name, //name - "", //routing key - "logs", //exchange - false, //no-wait - nil, //arguments - ) - ErrorMsg(err, "Failed to use queueBind") + // err = ch.ExchangeDeclare( + // "logs", //name + // "fanout", //type + // true, //durable + // false, //auto-deleted + // false, //internal + // false, //no-wait + // nil, //arguments + // ) + // ErrorMsg(err, "Failed to declare exchange") + //lesson 3 + // err = ch.QueueBind( + // q.Name, //name + // "", //routing key + // "logs", //exchange + // false, //no-wait + // nil, //arguments + // ) + // ErrorMsg(err, "Failed to use queueBind") //consume data to use msg, err := ch.Consume( @@ -93,12 +95,12 @@ func main() { go func() { for d := range msg { log.Printf("Received a massage: %s", d.Body) + d.Ack(false) //for delay message simulates realwork (Lesson 2) - // dotCount := bytes.Count(d.Body, []byte(".")) - // t := time.Duration(dotCount) - // time.Sleep(t * time.Second) - // log.Printf("Done") - // d.Ack(false) + dotCount := bytes.Count(d.Body, []byte(".")) + t := time.Duration(dotCount) + time.Sleep(t * time.Second) + log.Printf("Done") } }() diff --git a/intro_rabbitmq_sender/sender.go b/intro_rabbitmq_sender/sender.go index b890f1d..fcbbe87 100644 --- a/intro_rabbitmq_sender/sender.go +++ b/intro_rabbitmq_sender/sender.go @@ -30,45 +30,45 @@ func main() { // nil, //arguments // ) //lesson 2 - // q, err := ch.QueueDeclare( - // "hello_1", //name - // true, //durable - // false, //delete when unused - // false, //exclusive - // false, //no-wait - // nil, //arguments - // ) - //lesson 3 not set queue name q, err := ch.QueueDeclare( - "", //name - false, //durable - false, //delete when unused - true, //exclusive - false, //no-wait - nil, //argument + "hello_1", //name + true, //durable + false, //delete when unused + false, //exclusive + false, //no-wait + nil, //arguments ) + //lesson 3 not set queue name + // q, err := ch.QueueDeclare( + // "", //name + // false, //durable + // false, //delete when unused + // true, //exclusive + // false, //no-wait + // nil, //argument + // ) ErrorMsg(err, "Failed to create queue") //intermediary to send data into queue - err = ch.ExchangeDeclare( - "logs", //name - "fanout", //type - true, //durable - false, //auto-deleted - false, //internal - false, //nowait - nil, //arguments - ) - ErrorMsg(err, "Failed to declare exchange") + // err = ch.ExchangeDeclare( + // "logs", //name + // "fanout", //type + // true, //durable + // false, //auto-deleted + // false, //internal + // false, //nowait + // nil, //arguments + // ) + // ErrorMsg(err, "Failed to declare exchange") //use with exchange to open queue and get data - err = ch.QueueBind( - q.Name, //name - "", //routing key - "logs", //exchange - false, //no-wait - nil, //argument - ) - ErrorMsg(err, "Cannot use queue bind") + // err = ch.QueueBind( + // q.Name, //name + // "", //routing key + // "logs", //exchange + // false, //no-wait + // nil, //argument + // ) + // ErrorMsg(err, "Cannot use queue bind") //set data to send and publish in RabbitMQ server //message to send (lesson 1) @@ -78,7 +78,7 @@ func main() { body := bodyFrom(os.Args) err = ch.Publish( //use when have exchange variable - "logs", //exchange + "", //exchange q.Name, //routing key false, // mandatory false, // immediate