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)); }
public void TestNotSatisfied() { var demand = new JobDemand { { SourceType.Avito, 10 } }; var demandResult = new JobDemandResult { { SourceType.Avito, new List <AdDownloadJob>() } }; Assert.False(demandResult.DoesSatisfyDemand(demand)); }
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; } } }
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); }
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)); }