Skip to content

Commit 1bb606a

Browse files
committed
Keep managed service leases alive
1 parent ae8dc87 commit 1bb606a

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

packages/cli/src/runtime-services.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,20 @@ export async function provisionRuntimeServices(services: WorkspaceRecipeRuntimeS
8383
throw new RuntimeServiceProvisionError("Managed runtime service provisioning failed", evidence)
8484
}
8585

86+
// A provisioned host service is an active runtime resource. Keep Node alive
87+
// until release so temporarily handle-free PHP-WASM startup can still reach
88+
// its timeout/cancellation finalizer instead of exiting with unsettled await.
89+
const lease = provisioned.length > 0 ? setInterval(() => undefined, 1_000) : undefined
90+
8691
return {
8792
env: Object.assign({}, ...provisioned.map((service) => service.env)),
8893
evidence,
8994
async release() {
90-
await releaseServices(provisioned)
95+
try {
96+
await releaseServices(provisioned)
97+
} finally {
98+
if (lease) clearInterval(lease)
99+
}
91100
},
92101
}
93102
}

0 commit comments

Comments
 (0)