Skip to content

Commit 65361c6

Browse files
committed
fix: ensure task deletion occurs after acknowledgment in Redis worker stream
1 parent d18651e commit 65361c6

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/api.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,8 +300,8 @@ export class Api {
300300
if (streamlen === 0) {
301301
await this.redis.multi()
302302
.xDelIfEmpty(task.stream)
303-
.xDel(this.redisWorkerStreamName, task.id)
304303
.xAck(this.redisWorkerStreamName, this.redisWorkerGroupName, task.id)
304+
.xDel(this.redisWorkerStreamName, task.id)
305305
.sRem(this.workerSetName, task.stream)
306306
.exec()
307307
logWorker('Stream still empty, removing recurring task from queue ', { stream: task.stream })
@@ -319,8 +319,8 @@ export class Api {
319319
this.redis.multi()
320320
.xTrim(task.stream, 'MINID', lastId - this.redisMinMessageLifetime)
321321
.xAdd(this.redisWorkerStreamName, '*', { compact: task.stream })
322-
.xDel(this.redisWorkerStreamName, task.id)
323322
.xAck(this.redisWorkerStreamName, this.redisWorkerGroupName, task.id)
323+
.xDel(this.redisWorkerStreamName, task.id)
324324
.sAdd(this.workerSetName, task.stream)
325325
.exec()
326326
])

0 commit comments

Comments
 (0)