From 5e43eb2db733f41aa5fa8f61504133b740702ee2 Mon Sep 17 00:00:00 2001 From: abearxiong Date: Thu, 4 Dec 2025 23:38:52 +0800 Subject: [PATCH] update --- test/common.ts | 14 ++++++------- test/timeout-start.ts | 47 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 7 deletions(-) create mode 100644 test/timeout-start.ts diff --git a/test/common.ts b/test/common.ts index d5079aa..5fa21c8 100644 --- a/test/common.ts +++ b/test/common.ts @@ -1,11 +1,11 @@ import { CNB } from "../src"; import dotenv from "dotenv"; dotenv.config(); -const cnb = new CNB(process.env.CNB_TOKEN || ""); +export const cnb = new CNB(process.env.CNB_TOKEN || ""); -const worksaceList = await cnb.workspace.list({ status: 'running' }); +// const worksaceList = await cnb.workspace.list({ status: 'running' }); -console.log("worksaceList", worksaceList); +// console.log("worksaceList", worksaceList); // const sn = 'cnb-o18-1jbklfuoh' @@ -19,8 +19,8 @@ console.log("worksaceList", worksaceList); // console.log("stop", stop); // exebqzp8sc -const start = await cnb.workspace.startWorkspace('kevisual/cnb', { - branch: 'main', -}); +// const start = await cnb.workspace.startWorkspace('kevisual/cnb', { +// branch: 'main', +// }); -console.log("start", start); \ No newline at end of file +// console.log("start", start); \ No newline at end of file diff --git a/test/timeout-start.ts b/test/timeout-start.ts new file mode 100644 index 0000000..da51a14 --- /dev/null +++ b/test/timeout-start.ts @@ -0,0 +1,47 @@ +import { cnb } from "./common" + +async function runWorkspaceStart() { + const startTime = Date.now(); + const duration = 30 * 60 * 1000; // 30 minutes in milliseconds + const interval = 5 * 60 * 1000; // 5 minutes in milliseconds + let attemptCount = 0; + + console.log(`Starting workspace start test at ${new Date().toLocaleString()}`); + console.log(`Will run every 5 minutes for 30 minutes total`); + + const runInterval = async () => { + const currentTime = Date.now(); + const elapsed = currentTime - startTime; + attemptCount++; + + console.log(`\n=== Attempt ${attemptCount} at ${new Date().toLocaleString()} ===`); + + try { + const start = await cnb.workspace.startWorkspace('kevisual/cnb', { + branch: 'main', + }); + console.log(`Success: ${JSON.stringify(start, null, 2)}`); + } catch (error) { + console.error(`Error: ${error}`); + } + + // Check if we should continue + if (elapsed + interval < duration) { + setTimeout(runInterval, interval); + } else { + console.log(`\nTest completed at ${new Date().toLocaleString()}`); + console.log(`Total attempts: ${attemptCount}`); + } + }; + + // Set timeout to stop after 30 minutes + setTimeout(() => { + console.log(`\nTimeout reached at ${new Date().toLocaleString()}`); + console.log(`Test terminated after 30 minutes`); + }, duration); + + // Start the first run immediately + runInterval(); +} + +runWorkspaceStart().catch(console.error); \ No newline at end of file