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
name | type | description |
---|---|---|
queueName | string | identitas queue |
data | any object / string | data yang akan dikirim |
options | object | opsi untuk queue yang dikirim |
options.delay | number | delay untuk queue (dalam millisecond) |
options.backoff | object | pengaturan opsi percobaan pengulangan saat terjadi kesalahan |
options.backoff.type | enum "fixed", "backoff" | tipe backoff setting - fixed : lama delay dari backoff akan konstan - backoff : lama delay dari backoff akan bertambah |
options.backoff.delay | number | initial delay untuk backoff (dalam millisecond) |
options.backoff.attempts | number | batas percobaan perulangan |
queueName structure
name | type | descriptions |
---|---|---|
prefix | enum "custom", "global" | prefix queue yang akan diakses |
event name | string | nama 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
name | type | description |
---|---|---|
queueName | string / number | identitas queue |
data | object / string | data yang akan dikirim |
Return
Promise<Void>
Example
menambahkan message queue pada queue custom berjudul "examplePubsub".
ctx.moco.queue.publish("custom.examplePubsub", { message: "example message" });