我正在寻找一种让我的azure webjob的多个实例一起运行并清除队列的方法。
我们的应用程序的一个功能是减少用户对其网站上每个页面视图的信用(由ajax调用)。我们目前有近600个这样的网站,他们网站的每个页面视图都会产生一个电话,导致从他们的帐户中扣除一笔信用额度(SQL Azure)。
这实际发生在我们正在调用sql服务器上的其中一个调用。到目前为止,它的工作正常,但我想将此任务卸载到webjobs和队列,因为我相信这是一种更好的方法。
我的问题是,如何设置webjob或其中一系列使用相同的队列并一起工作以完成队列中的所有内容。如果让我们说队列达到大量按摩,有没有办法让他们更多?
我今天早上到处搜索这些信息,但遗憾的是我找不到任何相关信息。
答案 0 :(得分:2)
您可以使用Azure WebJobs SDK编写Web作业,该作业由队列中的消息触发,然后启动多个实例(通过缩放)。每个作业实例都会从队列中选择不同的消息。
您可以使用Azure网站扩展功能。每个额外的网站实例也意味着额外的webjobs实例。 http://azure.microsoft.com/en-us/documentation/articles/web-sites-scale/
如果您想根据队列消息的数量进行扩展,它会认为(不确定!)您可以使用管理API以编程方式进行扩展。