private async void Run() { while (IsRunning) { var oldVideos = _videoRepository.GetAllVideosFromDatabase(); var allVideos = _fileReaderService.GetOnlyVideosInPath(_downloadedTorrentPath); var newVideos = _preProcessorService.GetNewVidosFromAllVideos(allVideos, oldVideos); if (newVideos.Count > 0) { LogAndInsertVideoInDb(newVideos); } await Task.Delay(TimeOutInSec == 0? 120 : TimeOutInSec); } }