Skip to content

Commit 1bdf927

Browse files
committed
fix(v3): adopt v4 dequeue strategy to increase perf
We will now dequeue into a redis list as many messages as we possibly can from actual queues, trying to dequeue up to 10 runs at a time for each queue in an env, in separate queue consumers. Then the SharedQueueConsumer can simply `lpop` off that list and process a run to be dequeued very quickly. This should get runs through the platform side dequeue system very quickly.
1 parent 5b40c44 commit 1bdf927

File tree

5 files changed

+319
-110
lines changed

5 files changed

+319
-110
lines changed

apps/webapp/app/env.server.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,8 @@ const EnvironmentSchema = z.object({
410410
MARQS_QUEUE_AGE_RANDOMIZATION_BIAS: z.coerce.number().default(0.25),
411411
MARQS_REUSE_SNAPSHOT_COUNT: z.coerce.number().int().default(0),
412412
MARQS_MAXIMUM_ENV_COUNT: z.coerce.number().int().optional(),
413+
MARQS_SHARED_WORKER_QUEUE_CONSUMER_INTERVAL_MS: z.coerce.number().int().default(250),
414+
MARQS_SHARED_WORKER_QUEUE_MAX_MESSAGE_COUNT: z.coerce.number().int().default(10),
413415

414416
PROD_TASK_HEARTBEAT_INTERVAL_MS: z.coerce.number().int().optional(),
415417

0 commit comments

Comments
 (0)