public async Task Run( [ServiceBusTrigger("%ProcessActiveFeedbackQueueName%", Connection = "ServiceBusConnection")] string myQueueItem, ILogger log, [ServiceBus("%GenerateSurveyInviteMessageQueueName%", Connection = "ServiceBusConnection", EntityType = EntityType.Queue)] ICollector <GenerateSurveyCodeMessage> queue) { log.LogInformation("Data refresh function started."); GroupedFeedbackRefreshMessage message = JsonConvert.DeserializeObject <GroupedFeedbackRefreshMessage>(myQueueItem); try { await _userRefreshService.UpdateAccountUsers(message); message .RefreshMessages .Select(rm => new GenerateSurveyCodeMessage { UserRef = rm.User.UserRef, AccountId = rm.User.AccountId, Ukprn = rm.ProviderId }) .AsParallel() .ForAll(queue.Add); } catch (Exception ex) { log.LogError(ex, "Error refreshing feedback data"); throw; } log.LogInformation("Data refresh function complete."); }