为什么我们应该在接收器中声明队列名称?

时间:2017-10-28 10:42:52

标签: python rabbitmq

我正在学习RabbitMQ。我无法理解为什么在receive_logs.py channel.exchange_declare(exchange='logs', exchange_type='fanout') 我们设置交换类型:

channel.queue_bind(exchange='logs',
                   queue=queue_name)

和此交换的队列绑定名称:

exchange

发件人已经创建了与queue_bind类型的交换。为什么我们需要再次设置类型? 如果交换类型fanout,我们为什么需要SELECT @row_number:=CASE WHEN DATE(@date_value)=DATE(`Date`) THEN @row_number + 1 ELSE 1 END AS row_number, @date_value:=`Date` AS `Date` FROM test, (SELECT @row_number:=0, @date_value:=DATE(NULL)) AS t ORDER BY `Date`, row_number ?这意味着它中的每个队列都会收到消息,但在这里我们指定名称。

1 个答案:

答案 0 :(得分:1)

因为Ackley <- function(x1,x2){ a<-20 b<- 0.2 c<-(2*pi) fofx1<- -a*exp(-b*sqrt((rowSums(X^2)/100)))- exp(rowSums(cos((c*X)/100)))+a+exp(1) fofx2 <- -a*exp(-b*sqrt((rowSums(X^2)/100)))- exp(rowSums(cos((c*X)/100)))+a+exp(1) return(fofx1+fofx2) } 将路由消息交换到它们绑定到的每个队列

您没有将生成器中的队列绑定到队列。并且必须在某处声明该绑定 - 在这种情况下,它是在消费者方面完成的。

不是&#34;将消息路由到代理上的每个队列&#34; :)你也需要绑定它。