public async Task DoWork() { do { var pendingApproveReviews = await _repository.GetAllPendingApprovalReviews(); if (pendingApproveReviews.Any()) { foreach (var review in pendingApproveReviews) { var uri = new Uri(review.Reference); review.Status = await CheckUri(uri) ? ReviewStatus.Approved : ReviewStatus.NotApproved; } await _repository.SaveAllChangesAsync(); } await Task.Delay(TimeSpan.FromMinutes(30)); }while (true); }