Skip to content

Commit 8a10b06

Browse files
authored
Make sure we have unique keys for queue metadata (#24)
Also rename queue keys to use dot notation
1 parent b646b55 commit 8a10b06

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

Sources/JobsRedis/Configuration.swift

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,17 @@ extension RedisJobQueue {
2121
let queueKey: RedisKey
2222
let processingQueueKey: RedisKey
2323
let failedQueueKey: RedisKey
24+
let metadataKeyPrefix: String
2425
let pollTime: Duration
2526

2627
public init(
2728
queueKey: String = "_hbJobQueue",
2829
pollTime: Duration = .milliseconds(100)
2930
) {
30-
self.queueKey = RedisKey(queueKey)
31-
self.processingQueueKey = RedisKey("\(queueKey)Processing")
32-
self.failedQueueKey = RedisKey("\(queueKey)Failed")
31+
self.queueKey = RedisKey("\(queueKey).pending")
32+
self.processingQueueKey = RedisKey("\(queueKey).processing")
33+
self.failedQueueKey = RedisKey("\(queueKey).failed")
34+
self.metadataKeyPrefix = "\(queueKey).metadata"
3335
self.pollTime = pollTime
3436
}
3537
}

Sources/JobsRedis/RedisJobQueue.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,14 +221,16 @@ public final class RedisJobQueue: JobQueueDriver {
221221
/// - Parameter key: Metadata key
222222
/// - Returns: Associated ByteBuffer
223223
public func getMetadata(_ key: String) async throws -> ByteBuffer? {
224-
try await self.redisConnectionPool.wrappedValue.get(.init(key)).get().byteBuffer
224+
let key = "\(self.configuration.metadataKeyPrefix).\(key)"
225+
return try await self.redisConnectionPool.wrappedValue.get(.init(key)).get().byteBuffer
225226
}
226227

227228
/// Set job queue metadata
228229
/// - Parameters:
229230
/// - key: Metadata key
230231
/// - value: Associated ByteBuffer
231232
public func setMetadata(key: String, value: ByteBuffer) async throws {
233+
let key = "\(self.configuration.metadataKeyPrefix).\(key)"
232234
try await self.redisConnectionPool.wrappedValue.set(.init(key), to: value).get()
233235
}
234236

0 commit comments

Comments
 (0)