UNPKG

@ixily/activ

Version:

Alpha Capture Trade Idea Verification. Blockchain ownership proven trade ideas and strategies.

43 lines 1.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ParallelChunksModule = void 0; const __1 = require("../../"); const state = { taskChunks: new Map(), runningPool: new Map(), }; const defineTaskChunks = (taskId, taskChunks) => { state.taskChunks.set(taskId, taskChunks); state.runningPool.set(taskId, 0); }; const run = async (taskId, task) => { const taskChunks = state.taskChunks.get(taskId); if (!taskChunks) { throw new Error(`Task chunks not defined for task ${taskId}`); } if (state.runningPool.get(taskId) >= taskChunks) { while (state.runningPool.get(taskId) >= taskChunks) { await (0, __1.rest)(10); } return run(taskId, task); } else { let result; state.runningPool.set(taskId, state.runningPool.get(taskId) + 1); try { result = await task(); } catch (err) { throw err; } finally { state.runningPool.set(taskId, state.runningPool.get(taskId) - 1); } return result; } }; exports.ParallelChunksModule = { defineTaskChunks, run, }; //# sourceMappingURL=parallel-chunks.module.js.map