我是RabbitMQ的新手。我正在使用带有codeigniter的php-amqplib库,并且仍然想知道我缺少的一些知识。
document.getElementById("div").addEventListener("textInput", function () {
alert("contenteditable fires input"); });
?喜欢在我的项目的一个用户想要向100k潜在客户广播新广告系列的情况下,如果第二个用户有100个邮件要发送,则第二个用户受到影响,第二个用户必须等待100k邮件先发送然后最后一位用户轮到他了。
我需要一个针对并发消费者的解决方案,他们可以顺利运行而不会影响其他
这是我的代码段:
$channel->wait()
如果有人指导我完成整个过程,我将不胜感激。
答案 0 :(得分:3)
当您致电$channel->wait()
时:
检查频道的队列,看是否有待处理的消息。
对于每条消息,您将为相应频道的回调呼叫已注册的回叫。
来自" hello world示例",一步一步::
// First, you define `$callback` as a function receiving
// one parameter (the _message_).
$callback = function($msg) {
echo " [x] Received ", $msg->body, "\n";
};
// Then, you assign `$callback` the the "hello" queue.
$channel->basic_consume('hello', '', false, true, false, false, $callback);
// Finally: While I have any callbacks defined for the channel,
while(count($channel->callbacks)) {
// inspect the queue and call the corresponding callbacks
//passing the message as a parameter
$channel->wait();
}
// This is an infinite loop: if there are any callbacks,
// it'll run forever unless you interrupt script's execution.
让您的第二个用户发送使用不同的队列。你可以拥有任意数量的队列。
答案 1 :(得分:-2)
它是模拟的
channel.start_consuming()
在python(鼠兔库)中