Esempio n. 1
0
 public void UpdateNiveisDocumentaisComProdutores()
 {
     if (this.nivelDocumentalComProdutoresUpdater == null)
     {
         this.nivelDocumentalComProdutoresUpdater = new NivelDocumentalComProdutoresUpdater();
     }
     while (this.isWorking)
     {
         if (this.niveisDocumentaisComProdutores.Count > 0)
         {
             try
             {
                 long id = (long)this.niveisDocumentaisComProdutores.Dequeue();
                 this.nivelDocumentalComProdutoresUpdater.UpdateManyByProdutor(id);
                 log.DebugFormat("NivelDocumentalComProdutores with ProdutorID {0} updated!", id);
             }
             catch (InvalidOperationException e)
             {
                 log.Error("Dequeueing an empty queue!", e);
             }
             catch (Exception e)
             {
                 log.Error("Dequeueing an empty queue!", e);
             }
         }
         else if (this.niveisDocumentaisComProdutores.Count == 0 && this.isWorking)
         {
             this.whNiveisDocumentaisComProdutores.WaitOne();
         }
     }
     this.nivelDocumentalComProdutoresUpdater.Optimize();
 }
Esempio n. 2
0
        public void UpdateNiveisDocumentaisComProdutores()
        {
            if (this.nivelDocumentalComProdutoresUpdater == null)
            {
                this.nivelDocumentalComProdutoresUpdater = new NivelDocumentalComProdutoresUpdater();
            }
            while (this.isWorking)
            {
                if (this.niveisDocumentaisComProdutores.Count > 0)
                {
                    try
                    {
                        long id = (long)this.niveisDocumentaisComProdutores.Dequeue();
                        this.nivelDocumentalComProdutoresUpdater.UpdateManyByProdutor(id);
                        log.DebugFormat("NivelDocumentalComProdutores with ProdutorID {0} updated!", id);

                    }
                    catch (InvalidOperationException e)
                    {
                        log.Error("Dequeueing an empty queue!", e);
                    }
                    catch (Exception e)
                    {
                        log.Error("Dequeueing an empty queue!", e);
                    }
                }
                else if (this.niveisDocumentaisComProdutores.Count == 0 && this.isWorking)
                {
                    this.whNiveisDocumentaisComProdutores.WaitOne();
                }
            }
            this.nivelDocumentalComProdutoresUpdater.Optimize();
        }