예제 #1
0
        public void Process(InputDocument inputDocument)
        {
            string[] words = wordsExtractor.GetWords(inputDocument.DocumentContent);

            documentWithExtractedWordsStore.Store(
                new InputDocumentWithExtractedWords(
                    inputDocument,
                    words));
        }
예제 #2
0
        public void Store(InputDocumentWithExtractedWords inputDocumentWithExtractedWords)
        {
            Stopwatch sw = Stopwatch.StartNew();

            decorated.Store(inputDocumentWithExtractedWords);

            var elapsed = sw.Elapsed;

            performanceRecorder.RecordInstance(elapsed);
        }
 public void Store(InputDocumentWithExtractedWords inputDocumentWithExtractedWords)
 {
     try
     {
         decorated.Store(inputDocumentWithExtractedWords);
     }
     catch (Exception ex)
     {
         errorReporter.ReportError(exception: ex);
         throw;
     }
 }
예제 #4
0
        public void Store(InputDocumentWithExtractedWords inputDocumentWithExtractedWords)
        {
            int retries = 0;

            while (true)
            {
                try
                {
                    decorated.Store(inputDocumentWithExtractedWords);
                    return;
                }
                catch
                {
                    if (retries >= maximumRetries)
                    {
                        throw;
                    }

                    retries++;

                    retryWaiter.WaitForRetry(retryNumber: retries);
                }
            }
        }