从辅助角色实例化辅助角色

本文关键字:角色 实例化 | 更新日期: 2023-09-27 18:21:38

我有一个工作角色(WR-1)来将消息放入Azure队列中。WR-1计划使用Quartz.NET。
我有另一个工作角色(WR-2),负责处理Azure队列上的消息
一旦排队活动完成,我想从WR-1触发WR-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配置中运行。假设有两个运行您的工作者角色的实例。其中一个实例将是Master实例,它将把数据放入队列中,一旦数据放入队列,它将在其他队列中写入一条消息,通知Slave它已完成写入数据。Slaves将不断轮询另一个队列,一旦他们发现Master已经完成了数据的放置,他们就可以开始从包含实际数据的队列中获取数据并进行处理。要决定哪个实例将是Master,哪个实例将为Slave,可以使用Lease Blob功能。能够获得blob租约的实例将是Master,而其他实例是Slave