Class AzureStorageQueueService<T>
- Namespace
- FoundationaLLM.DataPipelineEngine.Services.Queueing
- Assembly
- FoundationaLLM.DataPipelineEngine.dll
Provides an implementation of the IMessageQueueService interface for Azure Storage Queues.
public class AzureStorageQueueService<T> : IMessageQueueService<T>
Type Parameters
T
- Inheritance
-
AzureStorageQueueService<T>
- Implements
- Inherited Members
- Extension Methods
Constructors
AzureStorageQueueService(string, string, ILogger<AzureStorageQueueService<T>>)
Constructs a new instance of the AzureStorageQueueService class.
public AzureStorageQueueService(string storageAccountName, string queueName, ILogger<AzureStorageQueueService<T>> logger)
Parameters
storageAccountName
stringThe name of the Azure Storage account.
queueName
stringThe name of the queue.
logger
ILogger<AzureStorageQueueService<T>>The logger used for logging.
Methods
DeleteMessage(DequeuedMessage<T>)
Deletes a message from the queue.
public Task<bool> DeleteMessage(DequeuedMessage<T> message)
Parameters
message
DequeuedMessage<T>The message to be deleted.
Returns
MessagesAvailable()
Inidicates whether there are messages available in the queue.
public Task<bool> MessagesAvailable()
Returns
ReceiveMessages(int)
Receives a specified number of messages from the queue.
public Task<IEnumerable<DequeuedMessage<T>>> ReceiveMessages(int messageCount)
Parameters
messageCount
intThe number of messages to receive.
Returns
- Task<IEnumerable<DequeuedMessage<T>>>
A list of dequeued messages.
UpdateMessageVisibilityTimeout(DequeuedMessage<T>, bool)
Updates the visibility timeout of a message in the queue.
public Task<DequeuedMessage<T>?> UpdateMessageVisibilityTimeout(DequeuedMessage<T> message, bool recoverFromError = false)
Parameters
message
DequeuedMessage<T>The message whose visibility timeout is updated.
recoverFromError
boolIndicates whether the reason for the update is the need to recover from an error or not.
Returns
- Task<DequeuedMessage<T>>
A copy of the original dequeued message with the updated visibility timeout.