示例#1
0
        /// <summary>
        /// Removes a queue from the server
        /// </summary>
        public async Task RemoveQueue(HorseQueue queue)
        {
            try
            {
                _queues.Remove(queue);
                await queue.SetStatus(QueueStatus.Stopped);

                foreach (IQueueEventHandler handler in _queueEventHandlers)
                {
                    await handler.OnRemoved(queue);
                }

                OnQueueRemoved.Trigger(queue);
                await queue.Destroy();
            }
            catch (Exception e)
            {
                SendError("REMOVE_QUEUE", e, $"QueueName:{queue?.Name}");
            }
        }