From 30c98230df5d376eef0f24651f1f2d7ece53b9d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Birm=C3=A9?= Date: Wed, 9 Sep 2026 15:01:55 +0200 Subject: [PATCH] fix: don't abort suspending a tenant's remaining instances when one is already suspended Wrap suspendInstanceForTenant in its own try/catch inside the remove-exceeding-tenant-instances loop so a single failure (e.g. a 409 Instance is already suspended from a prior run) no longer aborts processing of the remaining instances for that tenant. Only the outer per-tenant catch (for getInstancesToRemove failures) is preserved. Co-Authored-By: Claude Sonnet 5 --- packages/cli/src/admin/cmd.ts | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/packages/cli/src/admin/cmd.ts b/packages/cli/src/admin/cmd.ts index b380005..2de28f8 100644 --- a/packages/cli/src/admin/cmd.ts +++ b/packages/cli/src/admin/cmd.ts @@ -119,14 +119,25 @@ export default function cmdAdmin() { for (const item of instancesToRemove) { console.log(` - ${item.serviceId}: ${item.instance}`); if (options.apply) { - await suspendInstanceForTenant( - tenant.tenantId, - item.serviceId, - item.instance, - environment - ); - instancesSuspended++; - console.log('Suspended'); + try { + await suspendInstanceForTenant( + tenant.tenantId, + item.serviceId, + item.instance, + environment + ); + instancesSuspended++; + console.log('Suspended'); + } catch (err) { + console.log( + `Failed to suspend ${item.serviceId}: ${ + item.instance + } for tenant ${tenant.tenantId}: ${ + (err as Error).message + }` + ); + continue; + } } } }