public void Start() { lock (_lock) { if (_running || _statusManager.IsDestroyed()) { return; } _running = true; _cancelTokenSource = new CancellationTokenSource(); _tasksManager.Start(() => { //Delay first execution until expected time has passed var intervalInMilliseconds = _interval * 1000; _wrappedAdapter.TaskDelay(intervalInMilliseconds).Wait(); if (_running) { _tasksManager.Start(() => _worker.ExecuteTasks(_cancelTokenSource.Token), _cancelTokenSource, "Segments Fetcher Worker."); _tasksManager.StartPeriodic(() => AddSegmentsToQueue(), intervalInMilliseconds, _cancelTokenSource, "Segmennnnts Fetcher Add to Queue."); } }, _cancelTokenSource, "Main Segments Fetcher."); } }
private void StartWorker() { var workerTask = Task.Factory.StartNew(() => _worker.ExecuteTasks(_cancelTokenSource.Token), _cancelTokenSource.Token); }
private void StartWorker() { Task workerTask = Task.Factory.StartNew( () => worker.ExecuteTasks(cancelTokenSource.Token), cancelTokenSource.Token); }