amqplib
Version:
An AMQP 0-9-1 (e.g., RabbitMQ) library and client.
31 lines (26 loc) • 845 B
JavaScript
const amqp = require('amqplib/callback_api');
const exchange = 'topic_logs';
const args = process.argv.slice(2);
const routingKey = (args.length > 0) ? args[0] : 'info';
const text = args.slice(1).join(' ') || 'Hello World!';
amqp.connect((err, connection) => {
if (err) return bail(err);
connection.createChannel((err, channel) => {
if (err) return bail(err, connection);
channel.assertExchange(exchange, 'topic', { durable: false }, (err) => {
if (err) return bail(err, connection);
channel.publish(exchange, routingKey, Buffer.from(text));
console.log(" [x] Sent '%s'", text);
channel.close(() => {
connection.close();
});
});
});
});
function bail(err, connection) {
console.error(err);
if (connection) connection.close(() => {
process.exit(1);
});
}