Exemplo n.º 1
0
        public void Stop()
        {
            m_doWork = false;
            Dictionary <EnqueueType, List <DBQueueObject> > messageDict = new Dictionary <EnqueueType, List <DBQueueObject> >();

            lock (m_dbQueueLock)
            {
                int queueCount = m_dbQueue.Count;
                for (int j = 0; j < queueCount; j++)
                {
                    for (int i = 0; i < m_dbQueue.Count; i++)
                    {
                        DBQueueObject message = m_dbQueue.Dequeue();
                        if (!messageDict.ContainsKey(message.ObjectType))
                        {
                            messageDict.Add(message.ObjectType, new List <DBQueueObject>());
                        }
                        messageDict[message.ObjectType].Add(message);
                    }
                }
            }
            WriteLog(messageDict);
        }
Exemplo n.º 2
0
 private void DBManagerQueueWork()
 {
     while (m_doWork)
     {
         Dictionary <EnqueueType, List <DBQueueObject> > messageDict = new Dictionary <EnqueueType, List <DBQueueObject> >();
         lock (m_dbQueueLock)
         {
             while (m_dbQueue.Count > 0 && messageDict.Count < m_maxPoolMsg)
             {
                 DBQueueObject message = m_dbQueue.Dequeue();
                 if (!messageDict.ContainsKey(message.ObjectType))
                 {
                     messageDict.Add(message.ObjectType, new List <DBQueueObject>());
                 }
                 messageDict[message.ObjectType].Add(message);
             }
         }
         if (messageDict.Count > 0)
         {
             WriteLog(messageDict);
         }
         Thread.Sleep(m_sleepPool);
     }
 }
Exemplo n.º 3
0
 public void Enqueue(DBQueueObject dbQueueObject)
 {
     lock (m_dbQueueLock)
         m_dbQueue.Enqueue(dbQueueObject);
 }
Exemplo n.º 4
0
 public void Enqueue(DBQueueObject dbQueueObject)
 {
     lock (m_dbQueueLock)
         m_dbQueue.Enqueue(dbQueueObject);
 }