public StochasticRecurringWorker AddWork(Action <CancellationToken> work, TimeSpan maxDelay, TimeSpan minDelay) { var rw = new RecurringWork { StochasticBoundaryMin = minDelay, StochasticBoundaryMax = maxDelay, Work = work }; AddInitializeWork(rw); return(this); }
private void AddInitializeWork(RecurringWork rw) { DateTime fromTime = _baseTime; lock (_workLock) { if (_work.Any()) { fromTime = _work.Max(w => w.Schedule); } rw.Initialize(fromTime); _work.Add(rw); } }