Web ロールに WCF があり、WCF によって Azure キューに追加されたメッセージを処理するワーカー ロールがあります。
私は次のことをしています:
var queue = queueStorage.GetQueueReference("myqueue");
var message = new CloudQueueMessage(string.Format("{0},{1}", pWord,processed));
queue.AddMessage(message);
次に、メッセージが処理されるまで待ちたいのですが、これには時間がかかりすぎて、1 つのメッセージに平均 2 分かかります!!
私のワーカーの役割には、次のものがあります。
これは私の onStart メソッドです:
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
inputQueue = queueClient.GetQueueReference("myqueue");
そして、私の Run メソッドで:
while (true)
{
try
{
// Retrieve and process a new message from the queue.
msg = inputQueue.GetMessage();
if (msg != null)
{
result = processMessage(msg);
私のprocessMessageメソッドで:
var messageParts = msg.AsString.Split(new char[] { ',' });
var word = messageParts[0];
var processed = Convert.ToBoolean(messageParts[2]);
word = "recibido";
processed = true;
addMessageToQueue2(userId,processed);
return 1;
メッセージをキューに追加:
var queue = outputQueue.GetQueueReference("myQueue");
var message = new CloudQueueMessage(string.Format("{0},{1}", pWord, pProcessed));
queue.AddMessage(message);
私はキューにかなり慣れていませんが、これは機能し、メッセージごとに2分よりも高速になるはずだと思います..どんな助けも本当に感謝しています.