From 5b5d78c4e2274fc377ca51752ba244d81d0f93ad Mon Sep 17 00:00:00 2001 From: dawn Date: Sat, 1 Aug 2026 13:57:34 +0300 Subject: [PATCH] bobbin/worker: dont use startAndWaitForPorts, .fetch already does it Signed-off-by: dawn --- bobbin/worker/src/index.ts | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/bobbin/worker/src/index.ts b/bobbin/worker/src/index.ts index 393ee39d..e3fee343 100644 --- a/bobbin/worker/src/index.ts +++ b/bobbin/worker/src/index.ts @@ -8,7 +8,7 @@ export interface Env { BOBBIN_LOG: string; } -export class BobbinContainer extends Container { +export class BobbinContainer extends Container { defaultPort = 8090; enableInternet = true; // Bobbin maintains an in-memory index rebuilt from Hydrant replay on every @@ -16,6 +16,17 @@ export class BobbinContainer extends Container { // onActivityExpired() to keep the container alive indefinitely. sleepAfter = "24h"; + constructor(ctx: DurableObjectState<{}>, env: Env) { + super(ctx, env, { + envVars: { + BOBBIN_HYDRANT_URL: env.BOBBIN_HYDRANT_URL, + BOBBIN_SLINGSHOT_URL: env.BOBBIN_SLINGSHOT_URL, + BOBBIN_LOG: env.BOBBIN_LOG, + BOBBIN_LOG_FORMAT: "json", + }, + }); + } + async onActivityExpired(): Promise { // Keep the container running; bobbin's in-memory index is expensive to // rebuild. Renew the timeout instead of stopping so we're pinged again later. @@ -88,16 +99,8 @@ export default { ); } - const container = env.BOBBIN.getByName("primary"); - await container.startAndWaitForPorts({ - startOptions: { - envVars: { - BOBBIN_HYDRANT_URL: env.BOBBIN_HYDRANT_URL, - BOBBIN_SLINGSHOT_URL: env.BOBBIN_SLINGSHOT_URL, - BOBBIN_LOG: env.BOBBIN_LOG, - BOBBIN_LOG_FORMAT: "json", - }, - }, + const container = env.BOBBIN.getByName("primary-eu-v2", { + locationHint: "weur", }); const response = await container.fetch(request); // A 101 is a protocol switch (e.g. WebSocket upgrade); return it untouched -- 2.51.2