UNPKG

redis-smq

Version:

A simple high-performance Redis message queue for Node.js.

62 lines 2.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const redis_smq_common_1 = require("redis-smq-common"); const index_1 = require("../../index"); const events_1 = require("../../src/common/events/events"); const queue = `queue_${Date.now()}`; const producer = new index_1.Producer(); const produceForever = (err) => { if (err) console.log(err); else { if (producer.isGoingUp() || producer.isRunning()) { const message = new index_1.Message().setBody('some data').setQueue(queue); producer.produce(message, produceForever); } } }; const consumer = new index_1.Consumer(); consumer.consume(queue, (message, cb) => cb(), (err) => err && console.log(err)); consumer.on(events_1.events.UP, () => { console.log('UP'); }); consumer.on(events_1.events.DOWN, () => { console.log('DOWN'); }); const serialOnOff = (cb) => redis_smq_common_1.async.waterfall([ (cb) => consumer.run((err) => cb(err)), (cb) => consumer.shutdown((err) => cb(err)), (cb) => consumer.run((err) => cb(err)), (cb) => consumer.shutdown((err) => cb(err)), (cb) => consumer.run((err) => cb(err)), (cb) => consumer.shutdown((err) => cb(err)), (cb) => consumer.run((err) => cb(err)), (cb) => consumer.shutdown((err) => cb(err)), (cb) => consumer.run((err) => cb(err)), (cb) => consumer.shutdown((err) => cb(err)), ], cb); let queueManager = null; redis_smq_common_1.async.waterfall([ (cb) => index_1.QueueManager.createInstance({}, (err, instance) => { if (err) cb(err); else { queueManager = instance; queueManager === null || queueManager === void 0 ? void 0 : queueManager.queue.create(queue, false, (err) => cb(err)); } }), (cb) => producer.run((err) => cb(err)), (cb) => { produceForever(); serialOnOff(cb); }, ], (err) => { if (err) console.log(err); else { producer.shutdown(); consumer.shutdown(); queueManager === null || queueManager === void 0 ? void 0 : queueManager.quit(() => void 0); } }); //# sourceMappingURL=combined-run.js.map