UNPKG

sdg

Version:

pomelo ts

39 lines 2.23 kB
"use strict"; // TODO seq-queue的使用 Object.defineProperty(exports, "__esModule", { value: true }); exports.closeQueue = exports.addTask = exports.timeout = void 0; const tslib_1 = require("tslib"); const seq_queue_1 = tslib_1.__importDefault(require("seq-queue")); const queues = {}; exports.timeout = 3000; /** * Add tasks into task group. Create the task group if it dose not exist. * * @param {String} key task key * @param {Function} fn task callback * @param {Function} ontimeout task timeout callback * @param {Number} timeoutMs timeout for task */ function addTask(key, fn, ontimeout, timeoutMs) { let queue = queues[key]; if (!queue) { queue = seq_queue_1.default.createQueue(exports.timeout); queues[key] = queue; } return queue.push(fn, ontimeout, timeoutMs); } exports.addTask = addTask; /** * Destroy task group * * @param {String} key task key * @param {Boolean} force whether close task group directly */ function closeQueue(key, force) { if (!queues[key]) return; queues[key].close(force); delete queues[key]; } exports.closeQueue = closeQueue; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza01hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL21hbmFnZXIvdGFza01hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9CQUFvQjs7OztBQUVwQixrRUFBMkI7QUFXM0IsTUFBTSxNQUFNLEdBQTZCLEVBQUUsQ0FBQztBQUUvQixRQUFBLE9BQU8sR0FBRyxJQUFJLENBQUM7QUFFNUI7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLE9BQU8sQ0FBQyxHQUFXLEVBQUUsRUFBNkIsRUFBRSxTQUFxQixFQUFFLFNBQWlCO0lBQzFHLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QixJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsS0FBSyxHQUFHLG1CQUFFLENBQUMsV0FBVyxDQUFDLGVBQU8sQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7S0FDckI7SUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBUkQsMEJBUUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLFVBQVUsQ0FBQyxHQUFXLEVBQUUsS0FBYztJQUNwRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUFFLE9BQU87SUFFekIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNyQixDQUFDO0FBTEQsZ0NBS0MifQ==