Azure辅助角色控制启动停止和状态

时间:2011-08-29 11:46:34

标签: azure azure-storage

我正在开展我的第一个项目,但是正在使用Intergration Component开发Azure应用程序。

目前,大多数集成都是使用SSIS包完成的,并且希望将它们转换为Azure中的Worker Role。

请有人帮我理解以下有关工人角色的疑问吗?

  1. 有没有办法通过GUI启动或停止Worker角色(就像SSIS或Windows Scheduler一样)?如果不是如何实现这个目标?

  2. 我如何知道我的工作人员角色一直在运行或未运行(包括为什么它没有运行,即.logs)

  3. 如何根据时间旋转多个辅助角色(即(上午9:00到11:00 AM旋转4个角色,并在安静时段缩小)

  4. 以下代码是否会创建任何有害消息或死锁(如果有多个要处理的消息有10,000个,新线程(Processsing.run)每5秒启动一次?

  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();   
                }
            }
    

1 个答案:

答案 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