Перейти к основному содержимому
Версия: 1.21.3

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 символов.

Параметры:

НаименованиеТипОбязательноЗначение по умолчанию
routingKeyStringДаНет
payloadStringДаНет
optionsObjectНетНет
Набор полей параметра options
ПолеТипЗначение
UserIdstringне задано
Typestringне задано
Timestampstring0001-01-01 00:00:00
ReplyTostringне задано
Priorityinteger0
MessageIdstringне задано
Mandatorybooleanfalse
Immediatebooleanfalse
Headersobject{}
Expirationstringне задано
Exchangestringне задано
DeliveryModeinteger1
CorrelationIdstringне задано
ContentTypestringtext/plain
ContentEncodingstringне задано
AppIdstringне задано

Возвращаемое значение:

ТипОписание
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 символов.

Параметры:

НаименованиеТипОбязательноЗначение по умолчанию
routingKeyStringДаНет
payloadsArray of StringsДаНет
optionsObjectНетНет
Набор полей параметра options
ПолеТипЗначение
UserIdstringне задано
Typestringне задано
Timestampstring0001-01-01 00:00:00
ReplyTostringне задано
Priorityinteger0
MessageIdstringне задано
Mandatorybooleanfalse
Immediatebooleanfalse
Headersobject{}
Expirationstringне задано
Exchangestringне задано
DeliveryModeinteger1
CorrelationIdstringне задано
ContentTypestringtext/plain
ContentEncodingstringне задано
AppIdstringне задано

Возвращаемое значение:

ТипОписание
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());