private async Task HandleItemsAsync(IStorageQueueClient queueClient, IDocumentTypedCollectionClient <ActivityFeedQueueItem> documentClient) { var messages = await queueClient.DequeueMessagesAsync <ActivityFeedQueueItem>("activityfeed-items", batchSize : 10); if (messages.IsEmpty) { return; } foreach (var message in messages) { logger.LogDebug($"Handling {nameof(ActivityFeedQueueItem)}s"); message.Created = DateTime.UtcNow; await documentClient.CreateAsync(message); } await messages.DeleteBatch(); logger.LogInformation("ActivityFeedQueueItem messages handled and deleted."); }
public IndexModel([NotNull] IDocumentTypedCollectionClient <ActivityFeedQueueItem> documentClient) { this.documentClient = documentClient ?? throw new ArgumentNullException(nameof(documentClient)); }