UNPKG

23.4 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/RabbitModule.js"],"names":["serializeData","data","JSON","stringify","noop","RabbitModule","startGoProc","config","prefetch","reconnectTimeout","assertQueues","enabled","disabled","emitter","EventEmitter","uri","log","warn","debug","queues","exchanges","goRabbitPath","goRabbit","isGoTransport","tryReconnect","withoutListeners","socketOptions","amqp","connect","timeout","connection","once","onError","bind","trace","createConnection","listenConnection","sendConnection","createChannel","listenChannel","createConfirmChannel","sendChannel","onOpen","prefetchCount","emit","cancel","stop","err","error","Err","getCode","setTimeout","fatal","process","kill","Bluebird","delay","restart","msg","allUpTo","ack","requeue","nack","queue","queueName","getQueueName","assertQueueOnce","name","res","prefix","assertQueue","Date","options","exchange","type","assertExchange","key","channel","row","rej","publish","Buffer","from","ok","source","pattern","args","bindQueue","queueParams","getQueueParams","mergedOptions","sendToQueue","taskHash","parse","now","Math","random","hash","content","substr","proc","stdin","write","Promise","resolve","sendToQueueNative","then","callback","initOptions","info","consume","consumerTag","close","Module"],"mappings":"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","sourcesContent":["import Err from '@lskjs/err';\nimport Module from '@lskjs/module';\nimport maskUriPassword from '@lskjs/utils/maskUriPassword';\nimport amqp from 'amqplib';\nimport Bluebird from 'bluebird';\nimport EventEmitter from 'events';\nimport get from 'lodash/get';\nimport omit from 'lodash/omit';\nimport hash from 'object-hash';\n\nimport startGoProc from './startGoProc';\nimport { promiseWithTimeout } from './utils/promiseWithTimeout';\n\nconst serializeData = (data = {}) => {\n if (typeof data === 'string') return data;\n return JSON.stringify(data);\n};\n\nconst noop = () => {\n //\n};\n\nexport class RabbitModule extends Module {\n startGoProc = startGoProc;\n config = {\n prefetch: 1,\n reconnectTimeout: 5000,\n };\n async init() {\n await super.init();\n this.enabled = !this.config.disabled;\n if (!this.enabled) return;\n this.emitter = new EventEmitter();\n if (!this.config.uri) {\n this.log.warn('!config.uri using localhost');\n this.config.uri = 'amqp://localhost';\n }\n this.log.debug('uri', maskUriPassword(this.config.uri));\n if (!this.config.queues) {\n this.log.warn('!config.queues');\n }\n this.queues = this.config.queues || {};\n this.exchanges = this.config.exchanges || {};\n\n this.goRabbitPath = this.config.goRabbit;\n this.isGoTransport = !!this.goRabbitPath;\n\n if (this.isGoTransport) {\n this.log.debug('using go lang transport', this.goRabbitPath);\n }\n this.tryReconnect = false;\n }\n async createConnection({ withoutListeners = false } = {}) {\n const { socketOptions = {} } = this.config;\n const connection = await amqp.connect(this.config.uri, { timeout: 10000, ...socketOptions });\n if (!withoutListeners) {\n connection.once('error', this.onError.bind(this));\n connection.once('close', this.onError.bind(this));\n }\n return connection;\n }\n async connect() {\n this.log.trace('connecting', maskUriPassword(this.config.uri));\n this.listenConnection = await this.createConnection();\n this.sendConnection = await this.createConnection();\n this.listenChannel = await this.listenConnection.createChannel();\n this.sendChannel = await this.sendConnection.createConfirmChannel();\n this.onOpen();\n const prefetchCount = get(this.config, 'options.prefetch');\n if (prefetchCount) {\n // TODO: подумать тут ли это оставлять?\n this.listenChannel.prefetch(prefetchCount);\n }\n if (this.isGoTransport) {\n this.startGoProc();\n }\n this.log.debug('connected');\n this.emit('connected');\n }\n async run() {\n if (!this.enabled) return;\n await super.run();\n try {\n await this.connect();\n } catch (e) {\n await this.onError(e);\n }\n }\n onOpen() {}\n async restart() {\n try {\n await this.cancel();\n await this.stop();\n await this.connect();\n this.tryReconnect = false;\n } catch (e) {\n await this.onError(e);\n }\n }\n // debouncedOnError = debounce(this.onError, 1);\n async onError(err) {\n if (!err) return;\n if (this.tryReconnect) return;\n this.tryReconnect = true;\n this.emit('connectionError');\n this.log.error('[onError]', err);\n if (Err.getCode(err) === 'Unexpected close') {\n setTimeout(() => {\n this.log.fatal('[ALARM]', 'PROCESS.KILL in 5 sec', err);\n process.kill(1);\n }, 5000);\n }\n const { reconnectTimeout } = this.config;\n this.log.debug(`error, wait ${reconnectTimeout} ms for restart connect`);\n await Bluebird.delay(reconnectTimeout);\n this.restart();\n }\n async ack(msg, { allUpTo } = {}) {\n return this.listenChannel.ack(msg, allUpTo);\n }\n async nack(msg, { allUpTo, requeue } = {}) {\n return this.listenChannel.nack(msg, allUpTo, requeue);\n }\n async parse() {\n throw new Err('not implemented worker.parse()');\n }\n async queue(queue) {\n const queueName = this.getQueueName(queue);\n if (!queueName) throw new Err('rabbit.queueNotFound', { data: { queueName } });\n await this.assertQueueOnce(queueName);\n return queueName;\n }\n getQueueName(queue) {\n let queueName = queue;\n if (typeof queue === 'string') {\n queueName = queue;\n } else {\n queueName = queue.name || queue.queue;\n }\n let res = this.queues[queueName] ? this.queues[queueName].queue : queueName;\n if (this.config.prefix) res = this.config.prefix + res;\n // console.log({ queueName, res });\n return res;\n }\n assertQueues = {};\n async assertQueueOnce(queue) {\n const queueName = this.getQueueName(queue);\n if (this.assertQueues[queueName]) return false;\n const res = await this.assertQueue(queue);\n this.assertQueues[queueName] = new Date();\n return res;\n }\n async assertQueue(queue) {\n const queueName = this.getQueueName(queue);\n // console.log({ queue, queueName });\n if (!queueName) {\n this.log.error('!queueName', { queue, queueName });\n throw new Err('!queueName', { queue, queueName });\n }\n const options = get(this.config, 'options');\n this.log.trace(`assertQueue(${queueName})`, omit(options, ['prefetch']));\n const res = await this.listenChannel.assertQueue(queueName, options);\n return res;\n }\n assertExchange(exchange, type = 'direct', options = {}) {\n this.log.trace(`assertExchange(${exchange}, ${type})`, omit(options, ['prefetch']));\n return this.listenChannel.assertExchange(exchange, type, options);\n }\n async publish(exchange, key, msg, options = {}, channel = this.sendChannel) {\n const row = serializeData(msg);\n return new Bluebird((res, rej) => {\n channel.publish(exchange, key, Buffer.from(row), options, (err, ok) => {\n if (err) {\n rej(err);\n } else {\n res(ok);\n }\n });\n });\n }\n bindQueue(queue, source, pattern, ...args) {\n return this.listenChannel.bindQueue(queue, source, pattern, ...args);\n }\n getQueueParams(queue) {\n let queueName = queue;\n if (typeof queue === 'string') {\n queueName = queue;\n } else {\n queueName = queue.name || queue.queue;\n }\n if (this.queues[queueName]) return this.queues[queueName];\n return {\n queue: queueName,\n };\n }\n async sendToQueue(queue, data, options, channel = this.sendChannel) {\n const queueName = this.getQueueName(queue);\n const queueParams = this.getQueueParams(queue);\n const mergedOptions = { ...get(this, 'config.queueOptions', {}), ...(queueParams.options || {}), ...options };\n return new Bluebird((res, rej) => {\n const row = serializeData(data);\n channel.sendToQueue(queueName, Buffer.from(row), mergedOptions, (err, ok) => {\n if (err) {\n rej(err);\n } else {\n res(ok);\n }\n });\n });\n }\n\n async sendToQueueNative(queue, data) {\n const queueName = this.getQueueName(queue);\n const debug = this.config.debug || false;\n // const rows = serializeDataArray(data);\n const taskHash = `${hash(JSON.parse(JSON.stringify({ queueName, data })))}_${Date.now()}_${Math.random()}}`;\n const row = JSON.stringify({\n queue: queueName,\n hash: taskHash,\n content: serializeData(data),\n });\n if (debug) {\n this.log.trace('[RM] sendToQueueNative', queueName, row.substr(0, 30));\n }\n\n const { proc } = this;\n proc.stdin.write(row);\n proc.stdin.write('\\n');\n // this.log.trace('--------WRITE-----');\n // this.log.trace(row);\n // this.log.trace('/--------WRITE-----/');\n await new Promise((resolve) => {\n this.emitter.once('close', async () => {\n if (debug) {\n this.log.trace('[RM] reject', row);\n }\n await Bluebird.delay(1000);\n return this.sendToQueueNative(queueName, data).then(resolve);\n });\n this.emitter.once(taskHash, () => {\n resolve();\n });\n });\n }\n async consume(queue, callback, initOptions = {}) {\n const queueName = this.getQueueName(queue);\n const options = {\n ...(this.config.options || {}),\n ...initOptions,\n };\n if (!options.prefetch) {\n this.log.warn(`[${queueName}] prefetch == 0, rabbit.consume ignore`);\n return null;\n }\n this.log.info(`consume(${queueName})`, options);\n const data = await this.listenChannel.consume(queueName, callback, options);\n this.consumerTag = data.consumerTag;\n return data;\n }\n async cancel() {\n try {\n await this.listenChannel.cancel(this.consumerTag);\n } catch (err) {}\n }\n async stop() {\n // this.log.warn('STOP ALL CONNECTIONS')\n try {\n await this.listenChannel.close();\n } catch (err) {}\n try {\n await this.listenConnection.close();\n } catch (err) {}\n try {\n await this.sendChannel.close();\n } catch (err) {}\n try {\n await this.sendConnection.close();\n } catch (err) {}\n }\n async healthcheck() {\n return promiseWithTimeout(async () => {\n // try {\n const sendConnection = await this.createConnection({\n withoutListeners: true,\n });\n sendConnection.once('close', noop);\n sendConnection.once('error', noop);\n const sendChannel = await sendConnection.createConfirmChannel();\n sendChannel.once('close', noop);\n sendChannel.once('error', noop);\n // TODO не делать ассерт каждый раз\n await sendChannel.assertQueue('healthcheck');\n await this.sendToQueue(\n 'healthcheck',\n {\n random: Math.random(),\n },\n {},\n sendChannel,\n );\n await sendChannel.close();\n await sendConnection.close();\n return true;\n // } catch (e) {\n // return false;\n // }\n }, 15000);\n }\n}\n\nexport default RabbitModule;\n"],"file":"RabbitModule.js"}
\No newline at end of file