diff --git a/apps/webapp/app/v3/services/createBackgroundWorker.server.ts b/apps/webapp/app/v3/services/createBackgroundWorker.server.ts index 34acd6e33..c4fc3a2f8 100644 --- a/apps/webapp/app/v3/services/createBackgroundWorker.server.ts +++ b/apps/webapp/app/v3/services/createBackgroundWorker.server.ts @@ -202,6 +202,15 @@ export async function createBackgroundTasks( }); if (typeof taskQueue.concurrencyLimit === "number") { + logger.debug("CreateBackgroundWorkerService: updating concurrency limit", { + workerId: worker.id, + taskQueue, + orgId: environment.organizationId, + projectId: environment.projectId, + environmentId: environment.id, + concurrencyLimit, + taskidentifier: task.id, + }); await marqs?.updateQueueConcurrencyLimits( environment, taskQueue.name, diff --git a/apps/webapp/app/v3/services/triggerTask.server.ts b/apps/webapp/app/v3/services/triggerTask.server.ts index 877c52137..b3eb7b55d 100644 --- a/apps/webapp/app/v3/services/triggerTask.server.ts +++ b/apps/webapp/app/v3/services/triggerTask.server.ts @@ -439,9 +439,16 @@ export class TriggerTaskService extends BaseService { if (body.options?.queue) { const concurrencyLimit = - typeof body.options.queue.concurrencyLimit === "number" - ? Math.max(0, body.options.queue.concurrencyLimit) - : undefined; + typeof body.options.queue?.concurrencyLimit === "number" + ? Math.max( + Math.min( + body.options.queue.concurrencyLimit, + environment.maximumConcurrencyLimit, + environment.organization.maximumConcurrencyLimit + ), + 0 + ) + : null; let taskQueue = await tx.taskQueue.findFirst({ where: { @@ -468,6 +475,16 @@ export class TriggerTaskService extends BaseService { }); if (typeof taskQueue.concurrencyLimit === "number") { + logger.debug("TriggerTaskService: updating concurrency limit", { + runId: taskRun.id, + friendlyId: taskRun.friendlyId, + taskQueue, + orgId: environment.organizationId, + projectId: environment.projectId, + existingConcurrencyLimit, + concurrencyLimit, + queueOptions: body.options?.queue, + }); await marqs?.updateQueueConcurrencyLimits( environment, taskQueue.name,