コード例 #1
0
        private JobDemand GetJobDemand()
        {
            var list = _grabberEntries.Values.Where(g => g.IsEnabled)
                       .Select(
                g => new KeyValuePair <SourceType, int>(g.Grabber.GetSourceType(), g.JobsLimit - g.Jobs.Count))
                       .ToList();

            return(JobDemand.FromList(list));
        }
コード例 #2
0
ファイル: JobDemandTest.cs プロジェクト: mazhuravlev/znaker
        public void TestNotSatisfied()
        {
            var demand = new JobDemand
            {
                { SourceType.Avito, 10 }
            };
            var demandResult = new JobDemandResult
            {
                { SourceType.Avito, new List <AdDownloadJob>() }
            };

            Assert.False(demandResult.DoesSatisfyDemand(demand));
        }
コード例 #3
0
 public void RequestMoreJobs(JobDemand jobDemand)
 {
     foreach (var jobDemandEntry in jobDemand)
     {
         if (_jobDemand.ContainsKey(jobDemandEntry.Key))
         {
             _jobDemand[jobDemandEntry.Key] += jobDemandEntry.Value;
         }
         else
         {
             _jobDemand[jobDemandEntry.Key] = jobDemandEntry.Value;
         }
     }
 }
コード例 #4
0
        public JobDemandResult GetJobs(JobDemand jobDemand)
        {
            var jobDemandResult = new JobDemandResult();

            foreach (var jobDemandEntry in jobDemand)
            {
                var sourceTypeJobs = GetJobsForSourceType(jobDemandEntry.Key, jobDemandEntry.Value);
                if (sourceTypeJobs.Count > 0)
                {
                    jobDemandResult[jobDemandEntry.Key] = sourceTypeJobs;
                }
            }
            return(jobDemandResult);
        }
コード例 #5
0
ファイル: JobDemandTest.cs プロジェクト: mazhuravlev/znaker
        public void TestSatisfied()
        {
            var demand = new JobDemand
            {
                { SourceType.Avito, 1 }
            };
            var demandResult = new JobDemandResult
            {
                { SourceType.Avito, new List <AdDownloadJob> {
                      new AdDownloadJob()
                  } }
            };

            Assert.True(demandResult.DoesSatisfyDemand(demand));
        }