/home/techb158/balavpn.abdallabala.com/node_modules/ioredis/built/cluster
NameSizeModeActions
ClusterOptions.d.ts63910666editdlrm
ClusterOptions.js7480666editdlrm
ClusterSubscriber.d.ts8860666editdlrm
ClusterSubscriber.js92420666editdlrm
ClusterSubscriberGroup.d.ts34430666editdlrm
ClusterSubscriberGroup.js157280666editdlrm
ConnectionPool.d.ts13240666editdlrm
ConnectionPool.js56550666editdlrm
DelayQueue.d.ts4790666editdlrm
DelayQueue.js14740666editdlrm
index.d.ts49480666editdlrm
index.js383430666editdlrm
ShardedSubscriber.d.ts11580666editdlrm
ShardedSubscriber.js50300666editdlrm
util.d.ts10800666editdlrm
util.js36350666editdlrm
Edit: /home/techb158/balavpn.abdallabala.com/node_modules/ioredis/built/cluster/DelayQueue.js (1474B)
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("../utils"); const Deque = require("denque"); const debug = (0, utils_1.Debug)("delayqueue"); /** * Queue that runs items after specified duration */ class DelayQueue { constructor() { this.queues = {}; this.timeouts = {}; } /** * Add a new item to the queue * * @param bucket bucket name * @param item function that will run later * @param options */ push(bucket, item, options) { const callback = options.callback || process.nextTick; if (!this.queues[bucket]) { this.queues[bucket] = new Deque(); } const queue = this.queues[bucket]; queue.push(item); if (!this.timeouts[bucket]) { this.timeouts[bucket] = setTimeout(() => { callback(() => { this.timeouts[bucket] = null; this.execute(bucket); }); }, options.timeout); } } execute(bucket) { const queue = this.queues[bucket]; if (!queue) { return; } const { length } = queue; if (!length) { return; } debug("send %d commands in %s queue", length, bucket); this.queues[bucket] = null; while (queue.length > 0) { queue.shift()(); } } } exports.default = DelayQueue;