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());