Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
function setKafka(){
/// setting up kafka consummer
console.log("Setting up Kafka clients");
Consumer = kafka.Consumer;
client = new kafka.Client(zk);
offset = new kafka.Offset(client);
offset.fetch([
{ topic: 'speedd-fraud-out-events', partition: 0, time: -1, maxNum: 1 }
], function (err, data) {
if(err != null){
console.error("Error: " + JSON.stringify(err));
return;
}
console.log("Offset data: " + JSON.stringify(data));
var outEventsOffset = data['speedd-fraud-out-events'][0][0];
console.log("Events offset: " + outEventsOffset);
consumer = new Consumer(
exports.consume = function (topic, cb) {
var options = {
autoCommit: false,
fromBeginning: true,
fetchMaxWaitMs: 1000,
fetchMaxBytes: 1024*1024
};
// use default partitions
var topics = [
{ topic: topic, partition: 0 },
{ topic: topic, partition: 1 }
];
var consumer = new kafka.Consumer(kafkaClient, topics, options);
var offset = new kafka.Offset(kafkaClient);
consumer.on('message', cb);
consumer.on('error', function (err) {
console.log(err);
throw err;
});
// recompute offset
consumer.on('offsetOutOfRange', function (topic) {
topic.maxNum = 2;
offset.fetch([topic], function (err, offsets) {
var min = Math.min.apply(null, offsets[topic.topic][topic.partition]);
consumer.setOffset(topic.topic, topic.partition, min);
});
function getOffsetAndClient(kafkaHostURI) {
const client = new kafka.KafkaClient({ kafkaHost: kafkaHostURI });
return { client, offset: new kafka.Offset(client) };
}
function offset(consumer) {
return new kafka.Offset(consumer.client);
}
constructor(subscriptionModel) {
super(subscriptionModel);
subscriptionModel.options.requestTimeout = subscriptionModel.options.requestTimeout || 10000;
subscriptionModel.options.connectTimeout = subscriptionModel.options.connectTimeout || 10000;
this.options = subscriptionModel.options;
this.client = new kafka_node_1.KafkaClient(subscriptionModel.client);
this.offset = new kafka_node_1.Offset(this.client);
}
receiveMessage() {
constructor(subscription) {
this.subscription = subscription;
this.subscription.options.requestTimeout = subscription.options.requestTimeout || 10000;
this.subscription.options.connectTimeout = subscription.options.connectTimeout || 10000;
this.client = new kafka.KafkaClient(this.subscription.client);
this.offset = new kafka.Offset(this.client);
}