Skip to content

Commit 01d0e78

Browse files
committed
feat: use UniqueId as entry ID in RedisQueue when provided
1 parent d5ad6f6 commit 01d0e78

2 files changed

Lines changed: 2 additions & 3 deletions

File tree

src/Foundatio.Redis/Queues/RedisQueue.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,7 @@ private string GetTopicName()
198198

199199
protected override async Task<string?> EnqueueImplAsync(T data, QueueEntryOptions options)
200200
{
201-
// TODO: Use options.UniqueId as the entry ID when provided (like InMemoryQueue and AzureServiceBusQueue do)
202-
string id = Guid.NewGuid().ToString("N");
201+
string id = !String.IsNullOrEmpty(options.UniqueId) ? options.UniqueId : Guid.NewGuid().ToString("N");
203202
_logger.LogDebug("Queue {QueueName} enqueue item: {QueueEntryId}", _options.Name, id);
204203

205204
if (options.DeliveryDelay.HasValue && options.DeliveryDelay.Value > TimeSpan.Zero)

tests/Foundatio.Redis.Tests/Queues/RedisQueueTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ public override Task EnqueueAsync_WithSerializationError_ThrowsAndLeavesQueueEmp
164164
return base.EnqueueAsync_WithSerializationError_ThrowsAndLeavesQueueEmptyAsync();
165165
}
166166

167-
[Fact(Skip = "Redis does not use UniqueId as entry ID")]
167+
[Fact]
168168
public override Task EnqueueAsync_WithUniqueId_UsesProvidedIdAsync()
169169
{
170170
return base.EnqueueAsync_WithUniqueId_UsesProvidedIdAsync();

0 commit comments

Comments
 (0)