SimpleExternalRabbitMQ
Этот класс серверного API содержит методы для формирования и отправки сообщений в стороннюю очередь на базе RabbitMQ.
getErrors()
Используйте метод для возврата сообщений об ошибке, если при отправке сообщения произошел сбой.
Возвращаемое значение:
| Тип | Описание |
|---|---|
| Array of Strings | Метод возвращает значения ошибок. |
Пример:
getErrors()
const rabbitMq = new SimpleExternalRabbitMQ('nofication-service');
const payload = {
userIDs: [2344, 7444],
message: "Здравствуйте!"
}
ss.info(rabbitMq.publishMessage('push-notifications', JSON.stringify(payload), {ContentType: "application/json", Headers: {"X-Source": "simple"}}).getErrors());
publishMessage()
Используйте метод для отправки сообщения в выбранную очередь.
внимание
Максимальная длина сообщения – 26000 символов.
Параметры:
| Наименование | Тип | Обязательно | Значение по умолчанию |
|---|---|---|---|
| routingKey | String | Да | Нет |
| payload | String | Да | Нет |
| options | Object | Нет | Нет |
Набор полей параметра options
| Поле | Тип | Значение |
|---|---|---|
| UserId | string | не задано |
| Type | string | не задано |
| Timestamp | string | 0001-01-01 00:00:00 |
| ReplyTo | string | не задано |
| Priority | integer | 0 |
| MessageId | string | не задано |
| Mandatory | boolean | false |
| Immediate | boolean | false |
| Headers | object | {} |
| Expiration | string | не задано |
| Exchange | string | не задано |
| DeliveryMode | integer | 1 |
| CorrelationId | string | не задано |
| ContentType | string | text/plain |
| ContentEncoding | string | не задано |
| AppId | string | не задано |
Возвращаемое значение:
| Тип | Описание |
|---|---|
| SimpleExternalRabbitMQ | Метод возвращает экземпляр, на котором был вызван. |
Пример:
publishMessage()
const rabbitMq = new SimpleExternalRabbitMQ('nofication-service');
const payload = {
userIDs: [2344, 7444],
message: "Здравствуйте!"
}
ss.info(rabbitMq.publishMessage('push-notifications', JSON.stringify(payload), {ContentType: "application/json", Headers: {"X-Source": "simple"}}).getErrors());
publishMultipleMessages()
Используйте метод для отправки массива сообщений в выбранную очередь.
внимание
Максимальная длина сообщения – 26000 символов.
Параметры:
| Наименование | Тип | Обязательно | Значение по умолчанию |
|---|---|---|---|
| routingKey | String | Да | Нет |
| payloads | Array of Strings | Да | Нет |
| options | Object | Нет | Нет |
Набор полей параметра options
| Поле | Тип | Значение |
|---|---|---|
| UserId | string | не задано |
| Type | string | не задано |
| Timestamp | string | 0001-01-01 00:00:00 |
| ReplyTo | string | не задано |
| Priority | integer | 0 |
| MessageId | string | не задано |
| Mandatory | boolean | false |
| Immediate | boolean | false |
| Headers | object | {} |
| Expiration | string | не задано |
| Exchange | string | не задано |
| DeliveryMode | integer | 1 |
| CorrelationId | string | не задано |
| ContentType | string | text/plain |
| ContentEncoding | string | не задано |
| AppId | string | не задано |
Возвращаемое значение:
| Тип | Описание |
|---|---|
| SimpleExternalRabbitMQ | Метод возвращает экземпляр, на котором был вызван. |
Пример:
publishMultipleMessages()
const rabbitMq = new SimpleExternalRabbitMQ('notification-service');
const messages = [
{
userID: 2344,
message: "Здравствуйте, Иван"
},
{
userID: 7444,
message: "Здравствуйте, Петр"
}
];
rabbitMq.publishMultipleMessages(
'push-notifications',
messages.map(m => JSON.stringify(m)),
{
ContentType: "application/json",
Headers: {
"X-Source": "simple"
}
}
)
ss.info(rabbitMq.getErrors());