public async Task <Protocols.Response.Feed> Execute(Protocols.Request.Feed feed)
        {
            var onCrawlDataDelegate = new RssCrawler.CrawlDataDelegate(OnNewCrawlData);
            var rssList             = feed.All ? (await _rssService.All()).ConvertAll(x => x.ToProtocol()) : feed.RssList;

            Parallel.ForEach(rssList, new ParallelOptions {
                MaxDegreeOfParallelism = 16
            },
                             async rss =>
            {
                var update = await new RssCrawler(onCrawlDataDelegate, _mongoDbService.Database, rss.ToModel()).RunAsync();
                if (update != null)
                {
                    await _rssService.Update(update);
                }
            }
                             );

            return(new Protocols.Response.Feed
            {
                ResultCode = Code.ResultCode.Success
            });
        }
 public async Task <Protocols.Response.Feed> Feed([FromBody] Protocols.Request.Feed feed)
 {
     return(await _feedCrawlingService.Execute(feed));
 }