Exemplo n.º 1
0
        public StochasticRecurringWorker AddWork(Action <CancellationToken> work, TimeSpan maxDelay, TimeSpan minDelay)
        {
            var rw = new RecurringWork
            {
                StochasticBoundaryMin = minDelay,
                StochasticBoundaryMax = maxDelay,
                Work = work
            };

            AddInitializeWork(rw);

            return(this);
        }
Exemplo n.º 2
0
        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);
            }
        }