Example #1
0
        static void Main(string[] args)
        {
            try
            {
                LoggerFactory.ConfigureNLog(Configuration["NLog:Configuration"]);

                IConfiguration rabbitConf   = BuildConfiguration(Configuration["RabbitMQ:Configuration"]);
                QueueReciver   queueReciver = new QueueReciverBuilder()
                                              .Logger(LoggerFactory.CreateLogger <QueueReciver>())
                                              .HostName(rabbitConf["HostName"])
                                              .QueueName(rabbitConf["QueueName"])
                                              .Durable(bool.Parse(rabbitConf["Durable"]))
                                              .Exclusive(bool.Parse(rabbitConf["Exclusive"]))
                                              .AutoDelete(bool.Parse(rabbitConf["AutoDelete"]))
                                              .Arguments(null)
                                              .Build();


                using (queueReciver)
                {
                    queueReciver.Subscribe(QueueMessageHandler.OnNext, () => Console.WriteLine("On Complete"));
                    queueReciver.StartReciving();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Example #2
0
        static async Task Main(string[] args)
        {
            try
            {
                var logFactory = new NLogLoggerFactory();
                logFactory.ConfigureNLog(Configuration["NLog:Configuration"]);

                IConfiguration rabbitConf  = BuildConfiguration(Configuration["RabbitMQ:Configuration"]);
                QueueSender    queueSender = new QueueSenderBuilder()
                                             .Logger(logFactory.CreateLogger <QueueSender>())
                                             .HostName(rabbitConf["HostName"])
                                             .QueueName(rabbitConf["QueueName"])
                                             .Durable(bool.Parse(rabbitConf["Durable"]))
                                             .Exclusive(bool.Parse(rabbitConf["Exclusive"]))
                                             .AutoDelete(bool.Parse(rabbitConf["AutoDelete"]))
                                             .Arguments(null)
                                             .Build();

                EnglishWikiFilter filter = new EnglishWikiFilter();
                using (queueSender)
                    using (ICrawler crawler = new HttpLinksCrawler(filter.AcceptUri, logFactory.CreateLogger <HttpLinksCrawler>()))
                    {
                        crawler.Subscribe(queueSender.SendToQueue, () => queueSender.Dispose());
                        await crawler.StartCrawling(Configuration["BaseUri"], Configuration["StartUri"]);
                    }
            }
            catch (Exception e)
            {
                Console.WriteLine($"Exeption: {e.Message}; Trace: {e.StackTrace}");
            }
        }