3.18.0 • Published 6 months ago

@lskjs/rabbit v3.18.0

Weekly downloads
298
License
MIT
Repository
github
Last release
6 months ago

LSK.js – rabbit

@lskjs/rabbit – LSK module for rabbit.

LSK logo NPM version NPM downloads NPM Dependency count Have TypeScript types Have tree shaking NPM Package size Package size Ask us in Telegram


Table of contents

⌨️ Install

# yarn
yarn i @lskjs/rabbit axios bluebird lodash

# npm
npm i @lskjs/rabbit axios bluebird lodash

async startDynamicPrefetch() {
  const { rabbit } = this;
  const { messageCount } = await rabbit.assertQueue(this.queue);
  if (messageCount > 10000) {
    rabbit.listenChannel.prefetch(100);
  } else {
    rabbit.listenChannel.prefetch(10);
  }
  setTimeout(() => this.startDynamicPrefetch(), 1000);
}
async run() {
  await super.run();
  this.startDynamicPrefetch();
}
const rabbit = await this.module('rabbit');
await rabbit.assertExchange('test', 'headers'); // создание exchange
await rabbit.bindQueue('test_ch', 'test', '', { type: 'ch' }); // присоединение queue к exchange
await rabbit.publish('test', '', { _id: 1 }, { headers: { type: 'ch' } }); // отправка сообщения
await rabbit.bindQueue('test_es_ch', 'test', '', { es: true, ch: true }); // пример с несколькими headers
await rabbit.publish('test', '', { _id: 1 }, { headers: { es: true, ch: true } });
в конфиге есть поле queueOptions - это глобальные options для всех задач которые пишутся в rabbit
"rabbit": {
  "uri": "localhost:15672",
  "queueOptions": {
    "persistent": true,
    "expiration": 683576835
  }
}
в конфиге с очередями(queues.js) можно указать options для каждой очереди отдельно
  queue1: {
    queue: 'queue1',
    options: {
      persistent: true,
      headers: {},
      priority: 5,
      replyTo: 'test',
    },
  },
  queue2: {
    queue: 'queue2',
    limit: million,
    options: {
      persistent: true,
      headers: {
        custom: 'header',
      },
      priority: 5,
      replyTo: 'test2',
    },
  },
  queue3: {
    queue: 'queue3',
    options: {
      persistent: true,
      headers: {},
      priority: 5,
      replyTo: 'test3',
    },
  },
  queue4: {
    queue: 'queue4',
    options: {
      persistent: true, headers: {}, priority: 5, replyTo: 'test4',
    },
  },
options можно доопределить с помощью 3 аргумента при постановки задачи
await rabbit.sendToQueue('test', { _id: 1 }, { persistent: true }); // отправка сообщения с options
options для задачи генерируются из

1) options которые пробросили при постановки задачи
2) из конфига queues.js для конкретной очереди
3) из глобального конфига

3 этих объекта мерджутся между собой именно в таком порядке

📖 License

This project is licensed under the MIT License - see the LICENSE file for details

👥 Contributors

👏 Contributing

  1. Fork it (https://github.com/yourname/yourproject/fork)
  2. Create your feature branch (git checkout -b features/fooBar)
  3. Commit your changes (git commit -am 'feat(image): Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request

📮 Any questions? Always welcome :)

3.17.0

6 months ago

3.18.0

6 months ago

3.8.1

10 months ago

3.16.5

6 months ago

3.16.4

6 months ago

3.1.1

1 year ago

2.88.1

1 year ago

2.85.0

1 year ago

2.85.1

1 year ago

2.84.11

2 years ago

2.76.2

2 years ago

2.76.1

2 years ago

2.76.0

2 years ago

2.83.0

2 years ago

2.78.0

2 years ago

2.72.0

2 years ago

2.71.0

2 years ago

2.75.1

2 years ago

2.75.0

2 years ago

2.74.0

2 years ago

2.70.0

2 years ago

2.73.0

2 years ago

2.69.1

2 years ago

2.64.0

2 years ago

2.64.1

2 years ago

2.67.0

2 years ago

2.63.0

2 years ago

2.66.0

2 years ago

2.66.1

2 years ago

2.65.0

2 years ago

2.65.1

2 years ago

2.57.0

2 years ago

2.60.1

2 years ago

2.56.0

2 years ago

2.52.0

2 years ago

2.59.0

2 years ago

2.62.0

2 years ago

2.61.0

2 years ago

2.46.0

3 years ago

2.47.3

3 years ago

2.43.0

3 years ago

2.34.0

3 years ago

2.38.0

3 years ago

2.41.0

3 years ago

2.37.1

3 years ago

2.37.0

3 years ago

2.40.0

3 years ago

2.36.1

3 years ago

2.39.1

3 years ago

2.39.0

3 years ago

2.35.0

3 years ago

2.42.1

3 years ago

2.42.0

3 years ago

2.42.3

3 years ago

2.42.2

3 years ago

2.33.1

3 years ago

2.33.0

3 years ago

2.29.0

3 years ago

2.28.0

3 years ago

2.27.0

3 years ago

2.26.0

3 years ago

2.25.0

3 years ago

2.24.0

3 years ago

2.23.4

3 years ago

2.23.2

3 years ago

2.23.0

3 years ago

2.19.1

3 years ago

2.18.0

3 years ago

2.17.0

3 years ago

2.13.0

3 years ago

2.12.3

3 years ago

2.12.0

3 years ago

2.9.1

3 years ago

2.10.2

3 years ago

2.10.0

3 years ago

2.8.0

3 years ago

2.8.4

3 years ago

2.9.0

3 years ago

2.7.0

3 years ago

2.6.1

3 years ago

2.6.0

3 years ago

2.5.2

3 years ago

2.5.1

3 years ago

2.5.3

3 years ago

2.5.0

3 years ago

2.3.0-beta.99

3 years ago

2.3.0-beta.96

3 years ago

2.3.0-beta.94

3 years ago

2.3.0-beta.95

3 years ago

2.3.0-beta.87

3 years ago

2.3.0-beta.86

3 years ago

2.3.0-beta.89

3 years ago

2.3.0-beta.88

3 years ago

2.3.0-beta.90

3 years ago

2.3.0-beta.92

3 years ago

2.3.0-beta.91

3 years ago

2.3.0-beta.80

3 years ago

2.3.0-beta.72

3 years ago

2.3.0-beta.74

3 years ago

2.3.0-beta.73

3 years ago

2.3.0-beta.75

3 years ago

2.3.0-beta.71

3 years ago

2.3.0-beta.63

3 years ago

2.3.0-beta.58

3 years ago

2.3.0-beta.60

3 years ago

2.3.0-beta.52

3 years ago

2.3.0-beta.49

3 years ago

2.3.0-beta.48

3 years ago

2.3.0-beta.42

3 years ago

2.3.0-beta.30

3 years ago

2.3.0-beta.29

3 years ago

2.3.0-beta.25

3 years ago

2.3.0-beta.26

3 years ago

2.3.0-beta.24

3 years ago

2.3.0-beta.22

3 years ago

2.3.0-beta.10

3 years ago

2.3.0-beta.5

3 years ago

2.3.0-beta.4

3 years ago

2.3.0-beta.2

3 years ago

2.2.0-beta.26

3 years ago

2.2.0-beta.23

3 years ago

2.2.0-beta.24

3 years ago

2.2.0-beta.22

3 years ago

2.2.0-beta.20

3 years ago

1.100.1

3 years ago

2.2.0-beta.16

3 years ago

2.2.0-beta.17

3 years ago

2.2.0-beta.19

3 years ago

2.2.0-beta.15

3 years ago

2.2.0-beta.13

3 years ago

2.2.0-beta.12

3 years ago

2.2.0-beta.6

3 years ago

2.2.0-beta.7

3 years ago

2.2.0-beta.5

3 years ago

2.2.0-beta.4

3 years ago

2.2.0-beta.3

3 years ago

2.2.0-beta.2

3 years ago

2.2.0-beta.1

3 years ago

2.1.0-beta.5

3 years ago

2.1.0-beta.4

3 years ago

2.1.0-beta.0

3 years ago

2.0.0-beta.7

3 years ago

2.0.0-beta.6

3 years ago

2.0.0-beta.2

3 years ago

1.89.2

3 years ago

1.81.1

3 years ago

1.77.1

3 years ago

1.77.3

3 years ago

1.72.0

4 years ago

1.71.1

4 years ago

1.52.0

4 years ago

1.51.0

4 years ago

1.47.0

4 years ago

1.17.2

4 years ago

1.0.47

4 years ago

1.0.18

4 years ago

1.0.14

4 years ago

1.0.11

4 years ago

1.0.0

4 years ago

0.39.2

4 years ago

0.39.0

4 years ago

0.38.1

4 years ago

0.37.2

4 years ago

0.37.1

4 years ago

0.36.0

4 years ago

0.35.119

4 years ago

0.35.101

4 years ago

0.35.84

4 years ago

0.35.83

5 years ago

0.35.68

5 years ago

0.35.63

5 years ago

0.35.57

5 years ago

0.35.43

5 years ago

0.35.38

5 years ago

0.35.37

5 years ago

0.35.29

5 years ago

0.35.16

5 years ago

0.35.6

5 years ago

0.35.5

5 years ago

0.35.0

5 years ago

0.34.13

5 years ago

0.34.10

5 years ago

0.34.8

5 years ago

0.34.6

5 years ago

0.34.3

5 years ago