diff --git a/backend/server/src/index.ts b/backend/server/src/index.ts index c58aea4..2277071 100644 --- a/backend/server/src/index.ts +++ b/backend/server/src/index.ts @@ -176,8 +176,9 @@ io.on("connection", async (socket) => { const createdContainer = await lockManager.acquireLock(data.sandboxId, async () => { try { - if (!containers[data.sandboxId]) { - containers[data.sandboxId] = await Sandbox.create({ timeoutMs: 1200000 }); + // Start a new container if the container doesn't exist or it timed out. + if (!containers[data.sandboxId] || !(await containers[data.sandboxId].isRunning())) { + containers[data.sandboxId] = await Sandbox.create({ timeoutMs: 1200_000 }); console.log("Created container ", data.sandboxId); return true; }