Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

getErrors()


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

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

Возвращает:

ТипОписание
ArrayЗначение ошибки.

Пример:

Code Block
languagejs
themeConfluence
titlegetErrors()
linenumberstrue
const rabbitMq = new SimpleExternalRabbitMQ('nofication-service');

const payload = {
    userIDs: [2344, 7444],
    message: "Hello!"
}

ss.info(rabbitMq.publishMessage('push-notifications', JSON.stringify(payload), {ContentType: "application/json", Headers: {"X-Source": "simple"}}).getErrors());

publishMessage()


Метод отправляет сообщение в выбранную очередь.


Note

Максимальная длина сообщения – 26000 символов.

Параметры:

НазваниеТипОбязательноЗначение по умолчанию
routingKeyStringДН
payloadStringДН
optionsObjectН

Н

Expand
titleНабор полей


ПолеТип Значение
Exchangestringне задано
Mandatorybooleanfalse
Immediatebooleanfalse
Headersobject{ }
ContentTypestringtext/plain
ContentEncodingstringне задано
DeliveryModeinteger1
Priorityinteger0
CorrelationIdstringне задано
ReplyTostringне задано
Expirationstringне задано
MessageIdstringне задано
Timestampstring0001-01-01 00:00:00
UserIdstringне задано
AppIdstringне задано
Typestringне задано




Возвращает:

ТипОписание
SimpleExternalRabbitMQМетод возвращает экземпляр этого же класса.


Пример:

Code Block
languagejs
themeConfluence
titlepublishMessage()
linenumberstrue
const rabbitMq = new SimpleExternalRabbitMQ('nofication-service');

const payload = {
    userIDs: [2344, 7444],
    message: "Hello!"
}

ss.info(rabbitMq.publishMessage('push-notifications', JSON.stringify(payload), {ContentType: "application/json", Headers: {"X-Source": "simple"}}).getErrors());

publishMultipleMessages()


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

Note

Максимальная длина сообщения – 26000 символов.

Параметры:

НазваниеТипОбязательноЗначение по умолчанию
routingKeyStringДН
payloadsArrayДН
optionsObjectН

Н

Expand
titleНабор полей


ПолеТип Значение
Exchangestringне задано
Mandatorybooleanfalse
Immediatebooleanfalse
Headersobject{}
ContentTypestringtext/plain
ContentEncodingstringне задано
DeliveryModeinteger1
Priorityinteger0
CorrelationIdstringне задано
ReplyTostringне задано
Expirationstringне задано
MessageIdstringне задано
Timestampstring0001-01-01 00:00:00
UserIdstringне задано
AppIdstringне задано
Typestringне задано




Возвращает:

ТипОписание
SimpleExternalRabbitMQМетод возвращает экземпляр этого же класса.


Пример:

Code Block
languagejs
themeConfluence
titlepublishMultipleMessages()
linenumberstrue
const rabbitMq = new SimpleExternalRabbitMQ('notification-service');

const messages = [
    {
        userID: 2344,
        message: "Hello, Ivan"
    },
    {
        userID: 7444,
        message: "Hello, Petr"
    }
];

rabbitMq.publishMultipleMessages(
    'push-notifications',
    messages.map(m => JSON.stringify(m)),
    {
        ContentType: "application/json",
        Headers: {
            "X-Source": "simple"
        }
    }
)

ss.info(rabbitMq.getErrors());


Table of Contents
absoluteUrltrue
classfixedPosition
printablefalse