如何将消息添加到azure webjobs队列

时间:2015-07-09 10:24:09

标签: azure message-queue azure-webjobssdk

我有一个排队的webjob使用queuetrigger执行任务:

try:
    #code that leads to exception
except Exception as e:
    #handle exception
    raise #for testing what the exception was, and etc.

在同一个解决方案中有一个网站,我需要做的是简单地从一个网站控制器向队列中添加消息。我曾尝试直接引用该函数,但似乎这只是运行函数而不是排队消息,这是不可取的,因为它以一种扩展性很差的方式创建了一大堆线程。

1 个答案:

答案 0 :(得分:6)

QueueTrigger的工作方式是轮询一个队列(在属性中指定,在你的情况下命名为“queue”)。因此,基本上将消息添加到此队列中,您只需在网站项目中引用Azure Storage Client Library,并使用与控制器中类似的代码将消息添加到队列中:

        var account = new CloudStorageAccount(new StorageCredentials(accountName, accountKey), true);
        var queueClient = account.CreateCloudQueueClient();
        var queue = queueClient.GetQueueReference("queue");
        var msg = new CloudQueueMessage("message-contents");
        queue.AddMessage(msg);

您可能还会发现此链接很有用:https://azure.microsoft.com/en-in/documentation/articles/websites-dotnet-webjobs-sdk-storage-queues-how-to/