fix: add timeout handling for script execution in Vm class #14

Merged
jana merged 1 commits from limitingQueryExrcutionTime into develop 2025-10-14 16:47:37 +00:00

View File

@ -172,16 +172,20 @@ export class Vm {
`;
const compiledScript = await this.isolate.compileScript(scriptWithResult);
let timer = 0n;
const interval = setInterval(() => {
if (
this.isolate.cpuTime > this.cpuTimeLimit ||
this.isolate.wallTime > this.timeLimit
this.isolate.wallTime > this.timeLimit ||
timer > this.timeLimit
) {
this.isolate.dispose();
rejectPromise(new Error("Script execution timed out"));
}
timer += 500000n;
}, 500);
compiledScript.run(this.context);