private async Task CleanupSoftDeletedStacksAsync(JobContext context) { var stackResults = await _stackRepository.GetSoftDeleted().AnyContext(); _logger.CleanupStackSoftDeletes(stackResults.Total); while (stackResults.Documents.Count > 0 && !context.CancellationToken.IsCancellationRequested) { try { await RemoveStacksAsync(stackResults.Documents, context).AnyContext(); } catch (Exception ex) { _logger.LogError(ex, "Error removing soft deleted stacks: {Message}", ex.Message); } if (context.CancellationToken.IsCancellationRequested || !await stackResults.NextPageAsync().AnyContext()) { break; } } }