SimpleExternalRabbitMQ
Этот класс серверного API содержит методы для формирования и отправки сообщений в стороннюю очередь на базе RabbitMQ.
getErrors()
Используйте метод для возврата сообщений об ошибке, если при отправке сообщения произошел сбой.
Возвращаемое значение:
| Тип | Описание |
|---|---|
| Array of Strings | Метод возвращает значения ошибок. |
Пример:
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 символов.
Параметры:
| Наименование | Тип | Обязательно | Значение по умолчанию |
|---|---|---|---|
| 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 | Метод возвращает экземпляр, на котором был вызван. |
Пример:
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 символов.
Параметры:
| Наименование | Тип | Обязательно | Значение по умолчанию |
|---|---|---|---|
| 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 | Метод возвращает экземпляр, на котором был вызван. |
Пример:
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, вы можете вызвать метод непосредственно от класса, как показано в примере ниже.
Параметры:
| Наименование | Тип | Обязательно | Значение по умолчанию |
|---|---|---|---|
| id | String | Нет | Нет |
| options | Object | Нет | Нет |
Набор полей параметра options
| Поле | Тип | Значение |
|---|---|---|
| host | String | не задано |
| port | Integer | не задано |
| username | String | не задано |
| password | String | не задано |
| vhost | String | не задано |
Возвращаемое значение:
| Тип | Описание |
|---|---|
| String | Метод возвращает текст ошибки, возникшей в результате тестового подключения, или сообщение об успешном подключении. |
Пример:
let err = SimpleExternalRabbitMQ.testConsumerConnection(123123123, {username: "newlogin"})
ss.info(err ? err : "success!")
testProducerConnection(id, options)
Используйте этот метод, чтобы создать тестовое подключение к поставщику RabbitMQ, которое будет закрыто после проверки. Метод является статическим, поэтому для его использования не нужно создавать новый объект SimpleExternalRabbitMQ, вы можете вызвать метод непосредственно от класса, как показано в примере ниже.
Параметры:
| Наименование | Тип | Обязательно | Значение по умолчанию |
|---|---|---|---|
| id | String | Нет | Нет |
| options | Object | Нет | Нет |
Набор полей параметра options
| Поле | Тип | Значение |
|---|---|---|
| host | String | не задано |
| port | Integer | не задано |
| username | String | не задано |
| password | String | не задано |
| vhost | String | не задано |
Возвращаемое значение:
| Тип | Описание |
|---|---|
| String | Метод возвращает текст ошибки, возникшей в результате тестового подключения, или сообщение об успешном подключении. |
Пример:
let err = SimpleExternalRabbitMQ.testProducerConnection(123123123, {username: "newlogin"})
ss.info(err ? err : "success!")