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

SimpleExternalRabbitMQ

Этот класс серверного API содержит методы для формирования и отправки сообщений в стороннюю очередь на базе RabbitMQ.

getErrors()


Используйте метод для возврата сообщений об ошибке, если при отправке сообщения произошел сбой.

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

ТипОписание
Array of StringsМетод возвращает значения ошибок.

Пример:

getErrors()
const rabbitMq = new SimpleExternalRabbitMQ('notification-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(routingKey, payloads, options)


Используйте метод для отправки сообщения в выбранную очередь.

внимание

Максимальная длина сообщения – 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(routingKey, payloads, options)


Используйте метод для отправки массива сообщений в выбранную очередь.

внимание

Максимальная длина сообщения – 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());

testConsumerConnection(id, options)


Используйте этот метод, чтобы создать тестовое подключение к потребителю RabbitMQ, которое будет закрыто после проверки. Метод является статическим, поэтому для его использования не нужно создавать новый объект SimpleExternalRabbitMQ, вы можете вызвать метод непосредственно от класса, как показано в примере ниже.

Параметры:

НаименованиеТипОбязательноЗначение по умолчанию
idStringНетНет
optionsObjectНетНет
Набор полей параметра options
ПолеТипЗначение
hostStringне задано
portIntegerне задано
usernameStringне задано
passwordStringне задано
vhostStringне задано

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

ТипОписание
StringМетод возвращает текст ошибки, возникшей в результате тестового подключения, или сообщение об успешном подключении.

Пример:

testConsumerConnection()

let err = SimpleExternalRabbitMQ.testConsumerConnection(123123123, {username: "newlogin"})
ss.info(err ? err : "success!")

testProducerConnection(id, options)


Используйте этот метод, чтобы создать тестовое подключение к поставщику RabbitMQ, которое будет закрыто после проверки. Метод является статическим, поэтому для его использования не нужно создавать новый объект SimpleExternalRabbitMQ, вы можете вызвать метод непосредственно от класса, как показано в примере ниже.

Параметры:

НаименованиеТипОбязательноЗначение по умолчанию
idStringНетНет
optionsObjectНетНет
Набор полей параметра options
ПолеТипЗначение
hostStringне задано
portIntegerне задано
usernameStringне задано
passwordStringне задано
vhostStringне задано

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

ТипОписание
StringМетод возвращает текст ошибки, возникшей в результате тестового подключения, или сообщение об успешном подключении.

Пример:

testProducerConnection()

let err = SimpleExternalRabbitMQ.testProducerConnection(123123123, {username: "newlogin"})
ss.info(err ? err : "success!")