@@ -27,6 +27,7 @@ export class DefaultQueueManager implements QueueManager {
2727 ) : Promise < QueueProperties > {
2828 let queueName : string ;
2929 let lockedQueueId : string | undefined ;
30+ let lockedQueueReleaseConcurrencyOnWaitpoint : boolean | undefined ;
3031
3132 // Determine queue name based on lockToVersion and provided options
3233 if ( lockedBackgroundWorker ) {
@@ -53,6 +54,9 @@ export class DefaultQueueManager implements QueueManager {
5354 // Use the validated queue name directly
5455 queueName = specifiedQueue . name ;
5556 lockedQueueId = specifiedQueue . id ;
57+ lockedQueueReleaseConcurrencyOnWaitpoint =
58+ typeof specifiedQueue . concurrencyLimit === "undefined" ||
59+ specifiedQueue . releaseConcurrencyOnWaitpoint ;
5660 } else {
5761 // No specific queue name provided, use the default queue for the task on the locked worker
5862 const lockedTask = await this . prisma . backgroundWorkerTask . findFirst ( {
@@ -91,6 +95,9 @@ export class DefaultQueueManager implements QueueManager {
9195 // Use the task's default queue name
9296 queueName = lockedTask . queue . name ;
9397 lockedQueueId = lockedTask . queue . id ;
98+ lockedQueueReleaseConcurrencyOnWaitpoint =
99+ typeof lockedTask . queue . concurrencyLimit === "undefined" ||
100+ lockedTask . queue . releaseConcurrencyOnWaitpoint ;
94101 }
95102 } else {
96103 // Task is not locked to a specific version, use regular logic
@@ -118,6 +125,7 @@ export class DefaultQueueManager implements QueueManager {
118125 return {
119126 queueName,
120127 lockedQueueId,
128+ lockedQueueReleaseConcurrencyOnWaitpoint,
121129 } ;
122130 }
123131
0 commit comments