egg-amqplib
TypeScript icon, indicating that this package has built-in type declarations

2.0.5 • Public • Published

egg-amqplib

NPM version build status Test coverage David deps Known Vulnerabilities npm download

Amqp plugin for egg with amqplib

Install

$ npm i egg-amqplib --save

Usage

// {app_root}/config/plugin.js
exports.amqplib = {
  enable: true,
  package: 'egg-amqplib',
};

Configuration

// {app_root}/config/config.default.js
exports.amqplib = {
  client: {
    // url: 'amqp://localhost',
    connectOptions: {
      protocol: 'amqp',
      hostname: 'localhost',
      port: 5672,
      username: 'guest',
      password: 'guest',
      locale: 'en_US',
      frameMax: 0,
      heartbeat: 0,
      vhost: '/',
    },
    // socketOptions: {
    //   cert: certificateAsBuffer, // client cert
    //   key: privateKeyAsBuffer, // client key
    //   passphrase: 'MySecretPassword', // passphrase for key
    //   ca: [caCertAsBuffer], // array of trusted CA certs
    // },
  },
};

see config/config.default.js for more detail.

Example

const queueName = 'test';
 
// Publisher
const msg = 'test';
const ch = await this.app.amqplib.createChannel();
await ch.assertQueue(queueName, { durable: false });
const ok = await ch.sendToQueue(queueName, Buffer.from(msg));
 
// Consumer
await ch.assertQueue(queueName, { durable: false });
const msg = await new Promise(resolve => ch.consume(queueName, msg => resolve(msg)));
 
if (msg !== null) {
  ch.ack(msg);
}
 
await ch.close();

Questions & Suggestions

Please open an issue here.

License

MIT

Package Sidebar

Install

npm i egg-amqplib

Weekly Downloads

26

Version

2.0.5

License

MIT

Unpacked Size

9.83 kB

Total Files

8

Last publish

Collaborators

  • zubincheung