@@ -38,6 +38,9 @@ import {
3838 resolveScheduledQueueSplitEnabled ,
3939 workerQueueForRun ,
4040} from "../concerns/workerQueueSplit.server" ;
41+ import { resolveComputeMigration } from "../concerns/computeMigration.server" ;
42+ import { workerRegionRegistry , backingForQueue , regionForQueue } from "~/v3/workerRegions.server" ;
43+ import { globalFlagsRegistry } from "~/v3/globalFlagsRegistry.server" ;
4144import {
4245 publishClaim as publishMollifierClaim ,
4346 releaseClaim as releaseMollifierClaim ,
@@ -358,6 +361,24 @@ export class RunEngineTriggerTaskService {
358361 const baseWorkerQueue = workerQueueResult ?. masterQueue ;
359362 const enableFastPath = workerQueueResult ?. enableFastPath ?? false ;
360363
364+ // Rewrite the region to its compute backing for migration-enrolled orgs,
365+ // from the in-memory snapshots (no DB query). A cold read (registry not yet
366+ // loaded) returns undefined/[] and the resolver falls back to not-migrated.
367+ const workerGroups = workerRegionRegistry . current ( ) ?? [ ] ;
368+ const region = baseWorkerQueue ? regionForQueue ( baseWorkerQueue , workerGroups ) : undefined ;
369+ const backing = baseWorkerQueue ? backingForQueue ( baseWorkerQueue , workerGroups ) : undefined ;
370+ const migrated = resolveComputeMigration ( {
371+ baseWorkerQueue,
372+ baseEnableFastPath : enableFastPath ,
373+ region,
374+ backing,
375+ planType,
376+ orgId : environment . organization . id ,
377+ orgFeatureFlags : environment . organization . featureFlags as Record < string , unknown > | null ,
378+ flags : globalFlagsRegistry . current ( ) ,
379+ envType : environment . type ,
380+ } ) ;
381+
361382 // Build annotations for this run
362383 const triggerSource = options . triggerSource ?? "api" ;
363384 const triggerAction = options . triggerAction ?? "trigger" ;
@@ -386,13 +407,13 @@ export class RunEngineTriggerTaskService {
386407 globalDefault : env . TRIGGER_WORKER_QUEUE_SCHEDULED_SPLIT_ENABLED === "1" ,
387408 } ) ;
388409 const workerQueue =
389- baseWorkerQueue !== undefined
410+ migrated . workerQueue !== undefined
390411 ? workerQueueForRun ( {
391- workerQueue : baseWorkerQueue ,
412+ workerQueue : migrated . workerQueue ,
392413 rootTriggerSource : annotations . rootTriggerSource ,
393414 splitEnabled : scheduledQueueSplitEnabled ,
394415 } )
395- : baseWorkerQueue ;
416+ : migrated . workerQueue ;
396417
397418 try {
398419 return await this . traceEventConcern . traceRun (
@@ -491,7 +512,8 @@ export class RunEngineTriggerTaskService {
491512 queueName,
492513 lockedQueueId,
493514 workerQueue,
494- enableFastPath,
515+ region : migrated . region ,
516+ enableFastPath : migrated . enableFastPath ,
495517 lockedToBackgroundWorker : lockedToBackgroundWorker ?? undefined ,
496518 delayUntil,
497519 ttl,
@@ -569,7 +591,8 @@ export class RunEngineTriggerTaskService {
569591 queueName,
570592 lockedQueueId,
571593 workerQueue,
572- enableFastPath,
594+ region : migrated . region ,
595+ enableFastPath : migrated . enableFastPath ,
573596 lockedToBackgroundWorker : lockedToBackgroundWorker ?? undefined ,
574597 delayUntil,
575598 ttl,
@@ -718,6 +741,7 @@ export class RunEngineTriggerTaskService {
718741 queueName : string ;
719742 lockedQueueId ?: string ;
720743 workerQueue ?: string ;
744+ region ?: string ;
721745 enableFastPath : boolean ;
722746 lockedToBackgroundWorker ?: { id : string ; version : string ; sdkVersion : string ; cliVersion : string } ;
723747 delayUntil ?: Date ;
@@ -771,6 +795,7 @@ export class RunEngineTriggerTaskService {
771795 queue : args . queueName ,
772796 lockedQueueId : args . lockedQueueId ,
773797 workerQueue : args . workerQueue ,
798+ region : args . region ,
774799 enableFastPath : args . enableFastPath ,
775800 isTest : args . body . options ?. test ?? false ,
776801 delayUntil : args . delayUntil ,
0 commit comments