从worker角色实例化worker角色

时间:2013-07-08 06:39:52

标签: c# azure azure-worker-roles

我有一个工作角色(WR-1)将消息放入Azure Queue。 WR-1使用Quartz.NET进行安排 我有另一个工作角色(WR-2)来处理Azure队列上的消息 一旦排队活动结束,我想从WR-1触发WR-2 我找不到任何有关如何从另一个辅助角色实例化辅助角色的材料。 可能吗?怎么做到呢?

1 个答案:

答案 0 :(得分:2)

如果您的工作者角色是不同的应用程序,您可以使用Service Management API从WR-1为WR-2创建新部署。你要做的是将WR-2的包和配置文件放在blob存储器中,当WR-1将所有消息放入队列时,就会创建一个新的WR-2部署。要使用Service Management API以编程方式创建部署,请参阅此处:http://msdn.microsoft.com/en-us/library/windowsazure/ee460813.aspx。但是,您需要确保一旦WR-2完成所有数据,它就会被WR-1销毁,这样您就不会继续产生费用。

其他可能性是运行您的辅助角色实例以在Master/Slave配置中运行。假设您的工作者角色有2个实例正在运行。其中一个实例是Master实例,它将数据放入队列中,一旦数据放入队列,它将在其他一些队列信号Slave中写入一条消息,表明它已完成写入数据。 Slaves将不断轮询此其他队列,一旦发现Master已完成数据放置,他们就可以开始从包含实际数据的队列中获取数据并处理它们。要确定哪个实例为Master,哪个实例为Slave,您可以使用Lease Blob功能。能够获取blob租约的实例将是Master,而其他实例是Slave