Esempio n. 1
0
        ///<summary>
        ///Log error in config file. If errored out 3 times in a row shutdown machine
        ///</summary>
        private void HandleErrors()
        {
            string vmMachineName = System.Environment.MachineName;

            RenderErrors.ReportError(ErrorSeverity.Severe, "Video Failed To Render. Machine Name: " + vmMachineName, "RenderVideo", "HandleErrors", "662", _renderParameters.ServiceId, _renderParameters.FuneralHomeName);

            int errorCount = GlobalVariables.ErrorCount;

            da.UpdateVideoQueStatus(_renderParameters.VideoQueId, VideoManager.Models.Data.Enums.VideoQueueStatus.Error);

            var isAzureVM = ConfigurationManager.AppSettings["IsAzureVM"];

            if (isAzureVM != "false")
            {
                ManageResourceGroup.StopVirtualMachine(_renderParameters.ResourceGroupName, vmMachineName);
            }
            else
            {
                CleanUpRenderEnviroment();
            }
        }
Esempio n. 2
0
 private void DeleteRenderMachine()
 {
     ManageResourceGroup.DeleteResourceGroupAsync(_renderParameters.ResourceGroupName);
 }
Esempio n. 3
0
        private void timer1_Tick(object sender, ElapsedEventArgs e)
        {
            var isAzureVM = ConfigurationManager.AppSettings["IsAzureVM"];

            if (isAzureVM != "false")
            {
                //Each tick represents 30 seconds
                //Dont keep track of ticks on Machine that is always running
                ticks++;
            }
            string     vmMachineName = Environment.MachineName;
            DataAccess da            = new DataAccess();


            if (GlobalVariables.IsRendering == false)
            {
                GlobalVariables.IsRendering = true;
                RenderViewModel renderData = da.GetRenderData(vmMachineName);


                if (renderData != null && renderData.FoundVideoToRender == true)
                {
                    RenderVideo render = new RenderVideo(renderData);
                    switch (renderData.VideoQueType)
                    {
                    case VideoQueType.FullNoSlate:
                        render.StartRender(false);
                        break;

                    case VideoQueType.FullWithSlate:
                        render.StartRender(true);
                        break;

                    case VideoQueType.AddSlate:
                        render.AddSlate();
                        break;

                    case VideoQueType.StripSlate:
                        render.RemoveSlate();
                        break;

                    case VideoQueType.ReEditSlate:
                        render.EditSlate();
                        break;
                    }
                }
                else
                {
                    GlobalVariables.IsRendering = false;
                }
            }



            if (GlobalVariables.IsRendering == false && isAzureVM != "false")
            {
                //If the machine has been running for 20 minutes and isn't rendering something probably isn't right
                if (ticks == 40)
                {
                    Library.WriteServiceLog("Machine has been running for 40 ticks. Sending an email to Shane");
                    da.SendErrorEmail("Render Machine: " + vmMachineName + " has been running for 20 minutes and has not begun to process the video. ");
                }
                if (ticks > 65)
                {
                    Library.WriteServiceLog("Machine has been running for " + ticks + " without starting render process");

                    //Only send an email every 13 times so we don't blow through our email alloment if this runs for a while.
                    if (ticks % 13 == 0)
                    {
                        da.SendErrorEmail("Render Machine: " + vmMachineName + " has been running for longer than 30 minutes and has not begun to process the video. Attempting to Shut Down machine");
                    }
                    Library.WriteServiceLog("Attempting to shut down machine");
                    string rg = da.GetResourceGroupName(vmMachineName);
                    ManageResourceGroup.StopVirtualMachine(rg, vmMachineName);
                }
            }

            //The machine should never be alive this long
            if (ticks == 960)
            {
                Library.WriteServiceLog("Machine has been running for 960 ticks. Sending an email to Shane");
                da.SendErrorEmail("Render Machine: " + vmMachineName + " has been running for over 8 hours ");
            }
            if (ticks > 1000)
            {
                Library.WriteServiceLog("Machine has been running for " + ticks);

                //Only send an email every 25 times so we don't blow through our email alloment if this runs for a while.
                if (ticks % 50 == 0)
                {
                    da.SendErrorEmail("Render Machine: " + vmMachineName + " has been running for longer than 8 hours. Attempting to Shut Down machine");
                }
                Library.WriteServiceLog("Attempting to shut down machine");
                string rg = da.GetResourceGroupName(vmMachineName);
                ManageResourceGroup.StopVirtualMachine(rg, vmMachineName);
            }
        }