This server-side API class is intended to generate and send messages to an external queue based on RabbitMQ.

getErrors()


If a message cannot be sent, this method displays an error message.

Use it to check your script for errors.

Return:

TypeDescription
ArrayError value.

Example:

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


This method sends a message to a selected queue.

Maximum message length – 26000 characters.

Parameter(s):

NameTypeMandatoryDefault value
routingKeyStringYN
payloadStringYN
optionsObjectN

N

FieldTypeValue
Exchangestringnot set
Mandatorybooleanfalse
Immediatebooleanfalse
Headersobject{}
ContentTypestringtext/plain
ContentEncodingstringnot set
DeliveryModeinteger1
Priorityinteger0
CorrelationIdstringnot set
ReplyTostringnot set
Expirationstringnot set
MessageIdstringnot set
Timestampstring0001-01-01 00:00:00
UserIdstringnot set
AppIdstringnot set
Typestringnot set

Return:

TypeDescription
SimpleExternalRabbitMQThis method returns an instance of the same class.


Example:

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


This method sends an array of messages to a selected queue.

Maximum message length – 26000 characters.

Parameter(s):

NameTypeMandatoryDefault value
routingKeyStringYN
payloadsArrayYN
optionsObjectN

N

FieldType
Exchangestringnot set
Mandatorybooleanfalse
Immediatebooleanfalse
Headersobject{}
ContentTypestringtext/plain
ContentEncodingstringnot set
DeliveryModeinteger1
Priorityinteger0
CorrelationIdstringnot set
ReplyTostringnot set
Expirationstringnot set
MessageIdstringnot set
Timestampstring0001-01-01 00:00:00
UserIdstringnot set
AppIdstringnot set
Typestringnot set

Return:

TypeDescription
SimpleExternalRabbitMQThis method returns an instance of the same class.


Example:

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

  • No labels