示例#1
0
        static async Task Main()
        {
            var numberOfDocuments = await SolrGateway.GetAvailableDocumentsFromSolr();

            const int pageSize = 100;

            var pages = (int)Math.Ceiling(numberOfDocuments / (decimal)pageSize);

            var stopWatch = new Stopwatch();

            stopWatch.Start();

            var completedSuccessfully = 0;

            for (var page = 0; page < pages; page++)
            {
                var currentPage = page;
                await ProcessSolrDocuments(currentPage, pageSize);

                completedSuccessfully++;
            }

            Console.WriteLine($"Completed successfully: {completedSuccessfully}");

            Console.WriteLine($"Execution finished in: {stopWatch.Elapsed}");
            stopWatch.Stop();
        }
示例#2
0
        public static async Task <List <LegacyDocument> > ProcessSolrDocuments(int page, int pageSize)
        {
            Console.WriteLine($"Starting downloading documents from page {page + 1} on thread {Thread.CurrentThread.ManagedThreadId}.");

            var stopWatch = new Stopwatch();
            var start     = page * pageSize;

            stopWatch.Start();
            var documents = await SolrGateway.GetDocumentsFromSolr(start, pageSize);

            SolrDocumentProcessor.ProcessDocuments(documents);

            stopWatch.Stop();
            Console.WriteLine($"Completed downloading documents from page {page + 1} on thread {Thread.CurrentThread.ManagedThreadId}. Elapsed: {stopWatch.Elapsed}");

            return(documents);
        }