Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            var processorCount = Environment.ProcessorCount;
            var maxDegreeOfParallelism = processorCount * GetConfigInt("ThreadsPerProcessor", DEFAULT_THREADS_PER_PROCESSOR);

            Console.WriteLine("processorCount: {0}", processorCount);
            Console.WriteLine("maxDegreeOfParallelism:{0}", maxDegreeOfParallelism);
            Console.WriteLine();

            var stopwatch = new Stopwatch();

            IFileProvider fileProvider;

            //fileProvider = GetLocalFileProvider();
            fileProvider = GetHttpFileProvider();

            IShortUrlResolver shortUrlResolver = GetShortUrlResolver();

            using (var logger = new CsvResultLogger())
            {

                var hunter = new Hunter(maxDegreeOfParallelism, logger, fileProvider, shortUrlResolver)
                {
                    SearchFileExtensions = ConfigurationManager.AppSettings["SearchFileExtensions"],
                    UpdateProgressAfterNumberOfImages =
                        GetConfigInt("ProgressUpdateEveryNImages", DEFAULT_PROGRESS_UPDATE_EVERY_N_IMAGES)
                };

                stopwatch.Start();
                hunter.Run(ConfigurationManager.AppSettings["SearchPath"]);
                stopwatch.Stop();
            }

            Console.WriteLine();
            Console.WriteLine("Time elapsed:{0}", stopwatch.ElapsedMilliseconds);
            Console.WriteLine("Finished");
            Console.ReadKey();
        }