0

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分よりも高速になるはずだと思います..どんな助けも本当に感謝しています.

4

1 に答える 1