You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
754 B
28 lines
754 B
'use strict';
|
|
|
|
module.exports = async function factory (app, conf, load) {
|
|
try {
|
|
if (conf.kafka) {
|
|
const Kafka = require('kafka-node');
|
|
|
|
app.fs = app.fs || {}
|
|
const client = new Kafka.KafkaClient({
|
|
kafkaHost: conf.kafka.root,
|
|
fromOffset: true
|
|
});
|
|
const producer = new Kafka.HighLevelProducer(client);
|
|
producer.on('error', function (err) {
|
|
app.fs.logger.log('error', "[FS-KAFKA]", err);
|
|
});
|
|
producer.on("ready", function () {
|
|
// console.log('Kafka ready')
|
|
})
|
|
app.fs.kafka = {
|
|
producer: producer,
|
|
};
|
|
}
|
|
} catch (error) {
|
|
console.error(error);
|
|
process.exit(-1);
|
|
}
|
|
}
|
|
|