UNPKG

kafka-pub-sub

Version:

Enterprise-grade Kafka publish/subscribe library for Node.js — producer pool, batch sending, DLQ, SSL/SASL, multi-broker, and real-world industry examples.

47 lines (40 loc) 1.32 kB
/** * QUICKSTART — Subscriber * * Run this FIRST in Terminal 1, then run publish.js in Terminal 2. * * Usage: * node examples/quickstart/subscribe.js */ require('dotenv').config({ path: require('path').resolve(__dirname, '../../.env') }); const { ConsumeEvent } = require('../../index'); async function main() { console.log('Waiting for messages on "quickstart.topic"... (Ctrl+C to stop)\n'); const stop = await ConsumeEvent( 'quickstart.topic', async (message) => { console.log('─'.repeat(40)); console.log('Received message:'); console.log(' Key :', message.key); console.log(' Event :', message.value.event); console.log(' Data :', JSON.stringify(message.value.data, null, 2)); console.log(' Offset :', message.offset); console.log(' At :', new Date(Number(message.timestamp)).toISOString()); console.log('─'.repeat(40) + '\n'); }, { fromBeginning: true, // read from the start so you see every message groupId: 'quickstart-group', } ); // Keep running until Ctrl+C process.on('SIGINT', async () => { console.log('\nStopping subscriber...'); await stop(); process.exit(0); }); } main().catch((err) => { console.error('Subscriber error:', err.message); process.exit(1); });