UNPKG

omelop

Version:

[![Build Status](https://travis-ci.org/node-omelop/omelop.svg?branch=master)](https://travis-ci.org/node-omelop/omelop)

39 lines 2.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.closeQueue = exports.addTask = exports.timeout = void 0; let sequeue = require('seq-queue'); let 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} timeout timeout for task */ function addTask(key, fn, ontimeout, timeoutMs) { let queue = queues[key]; if (!queue) { queue = sequeue.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]) { // ignore illeagle key return; } queues[key].close(force); queues[key] = undefined; } exports.closeQueue = closeQueue; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza01hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvY29tbW9uL21hbmFnZXIvdGFza01hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBYW5DLElBQUksTUFBTSxHQUE2QixFQUFFLENBQUM7QUFFL0IsUUFBQSxPQUFPLEdBQUcsSUFBSSxDQUFDO0FBRTFCOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixPQUFPLENBQUMsR0FBVyxFQUFFLEVBQTZCLEVBQUUsU0FBcUIsRUFBRSxTQUFpQjtJQUN4RyxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEIsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNSLEtBQUssR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLGVBQU8sQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7S0FDdkI7SUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBUkQsMEJBUUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLFVBQVUsQ0FBQyxHQUFXLEVBQUUsS0FBYztJQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2Qsc0JBQXNCO1FBQ3RCLE9BQU87S0FDVjtJQUVELE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQztBQUM1QixDQUFDO0FBUkQsZ0NBUUMifQ==