![](/img/trans.png)
[英]How to Peek-Lock Message and not Receive and Delete on Azure Service Bus Topic using REST Client
[英]How to asynchronously receive a azure service bus message in node.js
我在node.js中有socket.io,在.net中有我的工作人員角色。 我正在將服務總線隊列消息從socket.io發送到工作人員角色,而在工作人員角色中,我正在做一些處理,並通過服務總線隊列將數據發送回socket.io。
但是我認為有時候socket.io會嘗試接收比工作角色可發送的消息早一些的服務總線隊列消息,因此,即使工作角色已發送了消息,socket.io也不會收到消息。
下面是我的代碼:
function requestQueue(channelName) {
sleepTime[channelName] = 0;
console.log("-------------------SEND to WORKER ROLE------------------------");
// send the request to worker role
var broadcastMessage = "somedata";
sendMessage(socketToWorkerRole, broadcastMessage)
receivePeriodicRecordsQueue(workerRoleToSocket, channelName);
}
//發送服務總線隊列消息
function sendMessage(queue, data) {
serviceBusService.sendQueueMessage(queue, data, function (error) {
if (!error) {
console.log('Message sent....');
}
})
}
//接收服務總線隊列消息
function receivePeriodicRecordsQueue(queue, channelName) {
serviceBusService.receiveQueueMessage(queue, function (error, receivedMessage) {
if (!error) {
if (receivedMessage != null) {
// some processing
}
else {
console.log("---Service Bus Message is EMPTY-----");
receivePeriodicRecordsQueue(workerRoleToSocket, channelName);
}
}
else {
console.log(error);
receivePeriodicRecordsQueue(workerRoleToSocket, channelName);
}
})
}
即使我已放置代碼以在ReceivedMessage為空或接收消息時出錯時再次接收消息,它也永遠不會進入該部分。 它總是只在控制台中打印一條自定義消息“沒有要接收的消息”。 鄧諾,我可以解決這個問題。
在node.js中使用服務總線一直是一個真正的問題,因為我無法可靠地接收消息。 請讓我知道是否有人有任何解決方案或解決此問題?
謝謝
我在node.js中有socket.io,在.net中有我的工作人員角色。 我正在將服務總線隊列消息從socket.io發送到工作人員角色,而在工作人員角色中,我正在做一些處理,並通過服務總線隊列將數據發送回socket.io。
但是我認為有時候socket.io會嘗試接收比工作角色可發送的消息早一些的服務總線隊列消息,因此,即使工作角色已發送了消息,socket.io也不會收到消息。
下面是我的代碼:
function requestQueue(channelName) {
sleepTime[channelName] = 0;
console.log("-------------------SEND to WORKER ROLE------------------------");
// send the request to worker role
var broadcastMessage = "somedata";
sendMessage(socketToWorkerRole, broadcastMessage)
receivePeriodicRecordsQueue(workerRoleToSocket, channelName);
}
//發送服務總線隊列消息
function sendMessage(queue, data) {
serviceBusService.sendQueueMessage(queue, data, function (error) {
if (!error) {
console.log('Message sent....');
}
})
}
//接收服務總線隊列消息
function receivePeriodicRecordsQueue(queue, channelName) {
serviceBusService.receiveQueueMessage(queue, function (error, receivedMessage) {
if (!error) {
if (receivedMessage != null) {
// some processing
}
else {
console.log("---Service Bus Message is EMPTY-----");
receivePeriodicRecordsQueue(workerRoleToSocket, channelName);
}
}
else {
console.log(error);
receivePeriodicRecordsQueue(workerRoleToSocket, channelName);
}
})
}
即使我已放置代碼以在ReceivedMessage為空或接收消息時出錯時再次接收消息,它也永遠不會進入該部分。 它總是只在控制台中打印一條自定義消息“沒有要接收的消息”。 鄧諾,我可以解決這個問題。
在node.js中使用服務總線一直是一個真正的問題,因為我無法可靠地接收消息。 請讓我知道是否有人有任何解決方案或解決此問題?
謝謝
我在node.js中有socket.io,在.net中有我的工作人員角色。 我正在將服務總線隊列消息從socket.io發送到工作人員角色,而在工作人員角色中,我正在做一些處理,並通過服務總線隊列將數據發送回socket.io。
但是我認為有時候socket.io會嘗試接收比工作角色可發送的消息早一些的服務總線隊列消息,因此,即使工作角色已發送了消息,socket.io也不會收到消息。
下面是我的代碼:
function requestQueue(channelName) {
sleepTime[channelName] = 0;
console.log("-------------------SEND to WORKER ROLE------------------------");
// send the request to worker role
var broadcastMessage = "somedata";
sendMessage(socketToWorkerRole, broadcastMessage)
receivePeriodicRecordsQueue(workerRoleToSocket, channelName);
}
//發送服務總線隊列消息
function sendMessage(queue, data) {
serviceBusService.sendQueueMessage(queue, data, function (error) {
if (!error) {
console.log('Message sent....');
}
})
}
//接收服務總線隊列消息
function receivePeriodicRecordsQueue(queue, channelName) {
serviceBusService.receiveQueueMessage(queue, function (error, receivedMessage) {
if (!error) {
if (receivedMessage != null) {
// some processing
}
else {
console.log("---Service Bus Message is EMPTY-----");
receivePeriodicRecordsQueue(workerRoleToSocket, channelName);
}
}
else {
console.log(error);
receivePeriodicRecordsQueue(workerRoleToSocket, channelName);
}
})
}
即使我已放置代碼以在ReceivedMessage為空或接收消息時出錯時再次接收消息,它也永遠不會進入該部分。 它總是只在控制台中打印一條自定義消息“沒有要接收的消息”。 鄧諾,我可以解決這個問題。
在node.js中使用服務總線一直是一個真正的問題,因為我無法可靠地接收消息。 請讓我知道是否有人有任何解決方案或解決此問題?
謝謝
我在node.js中有socket.io,在.net中有我的工作人員角色。 我正在將服務總線隊列消息從socket.io發送到工作人員角色,而在工作人員角色中,我正在做一些處理,並通過服務總線隊列將數據發送回socket.io。
但是我認為有時候socket.io會嘗試接收比工作角色可發送的消息早一些的服務總線隊列消息,因此,即使工作角色已發送了消息,socket.io也不會收到消息。
下面是我的代碼:
function requestQueue(channelName) {
sleepTime[channelName] = 0;
console.log("-------------------SEND to WORKER ROLE------------------------");
// send the request to worker role
var broadcastMessage = "somedata";
sendMessage(socketToWorkerRole, broadcastMessage)
receivePeriodicRecordsQueue(workerRoleToSocket, channelName);
}
//發送服務總線隊列消息
function sendMessage(queue, data) {
serviceBusService.sendQueueMessage(queue, data, function (error) {
if (!error) {
console.log('Message sent....');
}
})
}
//接收服務總線隊列消息
function receivePeriodicRecordsQueue(queue, channelName) {
serviceBusService.receiveQueueMessage(queue, function (error, receivedMessage) {
if (!error) {
if (receivedMessage != null) {
// some processing
}
else {
console.log("---Service Bus Message is EMPTY-----");
receivePeriodicRecordsQueue(workerRoleToSocket, channelName);
}
}
else {
console.log(error);
receivePeriodicRecordsQueue(workerRoleToSocket, channelName);
}
})
}
即使我已放置代碼以在ReceivedMessage為空或接收消息時出錯時再次接收消息,它也永遠不會進入該部分。 它總是只在控制台中打印一條自定義消息“沒有要接收的消息”。 鄧諾,我可以解決這個問題。
在node.js中使用服務總線一直是一個真正的問題,因為我無法可靠地接收消息。 請讓我知道是否有人有任何解決方案或解決此問題?
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.