public virtual int GetNumJobsToAcquire(string processEngine) { if (JobsToAcquire.ContainsKey(processEngine)) { return(JobsToAcquire[processEngine]); } return(BaseNumJobsToAcquire); }
protected internal virtual void ReconfigureNumberOfJobsToAcquire(JobAcquisitionContext context) { // calculate the number of jobs to acquire next time JobsToAcquire.Clear(); foreach (var acquiredJobsEntry in context.AcquiredJobsByEngine) { var engineName = acquiredJobsEntry.Key; var numJobsToAcquire = (int)(BaseNumJobsToAcquire * Math.Pow(BackoffIncreaseFactor, BackoffLevel)); var rejectedJobBatchesForEngine = context.RejectedJobBatchesByEngine.GetValueOrNull(engineName); if (rejectedJobBatchesForEngine != null) { numJobsToAcquire -= rejectedJobBatchesForEngine.Count; } numJobsToAcquire = Math.Max(0, numJobsToAcquire); JobsToAcquire[engineName] = numJobsToAcquire; } }