Beispiel #1
0
        private void ReEnqueueFiles()
        {
            if (reEnqueueItems)
            {
                return;
            }
            try
            {
                Console.WriteLine("Start ReEnqueueQueueItems");

                reEnqueueItems = true;

                string path = GetRelayPath();

                if (Directory.Exists(path))
                {
                    string[] messages = Directory.GetFiles(path, "*.mcq");
                    if (messages == null || messages.Length == 0)
                    {
                        return;
                    }

                    Console.WriteLine("{0} items found to ReEnqueue", messages.Length);

                    Netlog.InfoFormat("ReEnqueueFiles: {0} ", messages.Length);


                    foreach (string message in messages)
                    {
                        //while (this.Count > 1000)
                        //{

                        //    Thread.Sleep(1000);
                        //}

                        QueueItem item = QueueItem.ReadFile(message);
                        if (item != null)
                        {
                            Enqueue(item as IQueueItem);
                        }
                        SysUtil.DeleteFile(message);
                        Thread.Sleep(100);
                    }
                    Netlog.Info("ReEnqueueFiles finished. ");
                }
            }
            catch (Exception ex)
            {
                string s = ex.Message;
            }
            finally
            {
                reEnqueueItems = false;
            }
        }