1
我對Node js和RabbitMq頗爲陌生。我想創建10萬個隊列。但創建大約6ooo隊列後,我收到以下錯誤。無法連接到使用節點js的RabbitMq中的超過6k隊列
error: "Cannot read property 'createChannel' of undefined"
如果我有錯誤,我想再次調用conn.createConnection()方法。這個怎麼做?
下面的代碼
var amqp = require("amqplib/callback_api");
var time = 0;
var limit = 100000
var timer = setInterval(() => {
time+=1;
if(time>=limit){
clearInterval(timer);
}
var now = Date.now()
//RabbitMQ
amqp.connect("amqp://localhost",function(err,conn){
conn.createChannel(function(err,ch){
if(err){
//try to do conn.createChannel again
}
var q = "queue_name"+time.toString();
// console.log(q);
var msg = "this is the message string!!!";
ch.assertQueue(q,{durable: false});
ch.sendToQueue(q,new Buffer(msg),{persistent: false});
// console.log("time = "+time);
});
});
//RabbitMQ`
},10);
通過讀取給定的錯誤消息,我將假設「amqp.connect」並注入一個空值到參數「conn將」當在「conn」上調用某種空/空值的「createChannel」時會導致給定的錯誤。 檢查「err」裏面的內容,我假設連接到「amqp :: // localhost」的連接沒有成功建立,因此沒有「conn」對象可以被傳遞。 –