Exemplo n.º 1
0
 public void ExecuteNextShutdownItem()
 {
     if (ItemQueue.Any())
     {
         _currentItem = ItemQueue.Dequeue();
         Shows.Action action = _currentItem.GetAction();
         action.ActionComplete += OnShutdownActionComplete;
         ExecuteAction(action);
         // Otherwise, the show is done :(
     }
     else
     {
         State = StateType.Waiting;
         ScheduleExecutor.AddSchedulerLogEntry(Show.Name, "Show complete");
         Show.ReleaseAllActions();
     }
 }
Exemplo n.º 2
0
 public void ExecuteNextStartupItem()
 {
     if (State == StateType.Running)
     {
         // Do we have startup items to run?
         if (ItemQueue.Any())
         {
             _currentItem = ItemQueue.Dequeue();
             Shows.Action action = _currentItem.GetAction();
             action.ActionComplete += OnStartupActionComplete;
             ExecuteAction(action);
         }
         // Otherwise, move on to the sequential and background items
         else
         {
             BeginSequential();
             BeginBackground();
         }
     }
 }
Exemplo n.º 3
0
 public void ExecuteNextSequentialItem()
 {
     LogScheduleInfoEntry("ExecuteNextSequentialItem");
     if (State == StateType.Running)
     {
         if (ItemQueue.Any())
         {
             LogScheduleInfoEntry("ExecuteNextSequentialItem: Dequeue next item");
             _currentItem = ItemQueue.Dequeue();
             Shows.Action action = _currentItem.GetAction();
             action.ActionComplete += OnSequentialActionComplete;
             ExecuteAction(action);
         }
         else
         {
             LogScheduleInfoEntry("ExecuteNextSequentialItem: Nothing left in the queue. Restarting the queue.");
             // Restart the queue
             BeginSequential();
         }
     }
 }
Exemplo n.º 4
0
 public void ExecuteNextSequentialItem()
 {
     ScheduleExecutor.Logging.Info("ExecuteNextSequentialItem");
     if (State == StateType.Running)
     {
         if (ItemQueue.Any())
         {
             ScheduleExecutor.Logging.Info("ExecuteNextSequentialItem: Dequeue");
             _currentItem = ItemQueue.Dequeue();
             Shows.Action action = _currentItem.GetAction();
             action.ActionComplete += OnSequentialActionComplete;
             ExecuteAction(action);
         }
         else
         {
             ScheduleExecutor.Logging.Info("ExecuteNextSequentialItem: BeginSequential");
             // Restart the queue
             BeginSequential();
         }
     }
 }
Exemplo n.º 5
0
        public BufferItem GetBuffer()
        {
            BufferItem item = null;

            while (item == null)
            {
                bool check = false;
                lock (__queuelock)
                {
                    if (ItemQueue.Count > 0)
                    {
                        item  = ItemQueue.Dequeue();
                        check = true;
                    }
                }
                if (!check)
                {
                    //Console.WriteLine("!Reader BufferWait");
                    System.Threading.Thread.Sleep(1);
                }
            }

            return(item);
        }