queue

Pengembang dapat menggunakan fungsi pada queue untuk menambahkan message ke dalam sebuah antrian (queue) yang telah didefinisikan.

ctx.moco.queue;

Queue methods

add(queueName, data, option)

Method add berfungsi untuk mengirim job/task ke dalam antrian (queue) kepada consumer. Berfungsi untuk queue dengan tipe jobQueue

Arguments

nametypedescription
queueNamestringidentitas queue
dataany object / stringdata yang akan dikirim
optionsobjectopsi untuk queue yang dikirim
options.delaynumberdelay untuk queue (dalam millisecond)
options.backoffobjectpengaturan opsi percobaan pengulangan saat terjadi kesalahan
options.backoff.typeenum "fixed", "backoff"tipe backoff setting
- fixed : lama delay dari backoff akan konstan
- backoff : lama delay dari backoff akan bertambah
options.backoff.delaynumberinitial delay untuk backoff (dalam millisecond)
options.backoff.attemptsnumberbatas percobaan perulangan

queueName structure

nametypedescriptions
prefixenum "custom", "global"prefix queue yang akan diakses
event namestringnama event(queue) yang akan diakses

Return

Promise<Void>

Example

menambahkan job queue pada queue custom bernama "exampleQueue" dengan opsi delay dan backoff exponential.

ctx.moco.queue.add(
"custom.exampleQueue", // "custom" adalah prefix untuk custom event, "exampleQueue" adalah nama queue
{ message: "example message" },
{
delay: 3000,
backoff: {
type: "exponential",
delay: 5000,
attempts: 5,
},
}
);

publish (queueName, data)

Methods publish berfungsi untuk mengirim message kepada consumer. Proses kirim bersifat fire-and-forget. Berfungsi untuk queue dengan tipe publishSubscribe

Arguments

nametypedescription
queueNamestring / numberidentitas queue
dataobject / stringdata yang akan dikirim

Return

Promise<Void>

Example

menambahkan message queue pada queue custom berjudul "examplePubsub".

ctx.moco.queue.publish("custom.examplePubsub", { message: "example message" });