protected virtual void LoadAndInvokeTasks(CancellationToken?token, bool autoLoad) { if (autoLoad) { lock (Lock) Repository.Load(); } lock (Lock) { foreach (var pair in Repository.Get()) { //начать обработку если эту задачу еще не выполняли if ((AllowReprocessing || !ProcessingTasks.Contains(pair.Key) && !FailTasks.Contains(pair.Key)) && !PoolTasks.Contains(pair.Key)) { PoolTasks.Add(pair.Key); Pool.Add(Perform, pair.Key, pair.Value, token); } } } Pool.Invoke(); }