我正在学习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
?这意味着它中的每个队列都会收到消息,但在这里我们指定名称。
答案 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; :)你也需要绑定它。