我正在开展我的第一个项目,但是正在使用Intergration Component开发Azure应用程序。
目前,大多数集成都是使用SSIS包完成的,并且希望将它们转换为Azure中的Worker Role。
请有人帮我理解以下有关工人角色的疑问吗?
有没有办法通过GUI启动或停止Worker角色(就像SSIS或Windows Scheduler一样)?如果不是如何实现这个目标?
我如何知道我的工作人员角色一直在运行或未运行(包括为什么它没有运行,即.logs)
如何根据时间旋转多个辅助角色(即(上午9:00到11:00 AM旋转4个角色,并在安静时段缩小)
以下代码是否会创建任何有害消息或死锁(如果有多个要处理的消息有10,000个,新线程(Processsing.run)每5秒启动一次?
while(true) { var thread = new Thread(Run); thread.start(); Thread.Sleep(5000); Trace.WriteLine("Working", "Information"); } public class PhotoProcessing { public static void Run() { // Read from queue CloudQueueMessage msg =
Storage.Queue.GetNextMessage();
while(msg != null) { string[] message = msg.AsString.Split('$'); if(message.Length == 2) { AddWatermark(message[0], message[1]); } // Message has been read so remove it Storage.Queue.DeleteMessage(msg); // Get next message if any msg = Storage.Queue.GetNextMessage(); } }
答案 0 :(得分:3)
有没有办法通过GUI启动或停止Worker角色(就像SSIS或Windows Scheduler一样)?如果不是如何实现这一点?
实际上有很多方法可以做到这一点。您可以使用Windows Azure Portal,也可以使用第三方工具(例如我们的Cloud Storage Studio),或者您可以使用Windows Azure服务管理API(http://msdn.microsoft.com/en-us/library/ee460799.aspx)编写自己的应用程序
我如何知道我的工作人员角色一直在运行或未运行(包括为什么它没有运行即.logs)
同样,您可以使用其中一个基于GUI的工具来查看角色的状态。至于角色未运行的原因,您需要在您的辅助角色中启用Windows Azure诊断(http://msdn.microsoft.com/en-us/library/gg433048.aspx)
如何根据时间旋转多个辅助角色(即(上午9:00到11:00旋转4个角色并在安静时段缩小) 您可以使用Windows Azure Service Management API编写自己的应用程序,也可以使用第三方工具,如Paraleap的AzureWatch或Azure Management Cmdlets(均来自Microsoft和我们公司)。虽然cmdlet可以完成工作,但我相信Azure Watch是更复杂的解决方案。我们在几天前写了一篇关于自动缩放的博客文章,你可以在这里找到:http://www.cerebrata.com/Blog/post/Scale-your-Windows-Azure-instances-with-Azure-Management-Cmdlets.aspx。