首页 文章

Azure队列太慢 - 大约2分钟,直到工作者角色收到消息

提问于
浏览
0

我在Web角色上有一个WCF,然后是一个工作者角色来处理由WCF添加到azure队列的消息 .

我正在做以下事情:

var queue = queueStorage.GetQueueReference("myqueue");

var message = new CloudQueueMessage(string.Format("{0},{1}", pWord,processed));
queue.AddMessage(message);

然后我想等到消息处理完毕,但这花费的时间太长了,一条消息平均需要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分钟..任何帮助将非常感激 .

1 回答

相关问题