, 8 min read
Queue adalah konsep yang banyak digunakan untuk melakukan pekerjaan secara bergantian sesuai dengan waktu yang telah ditentukan
Queue adalah konsep yang biasa digunakan untuk melakukan pekerjaan secara bergantian sesuai dengan waktu yang telah ditentukan. dengan menggunakan Queue akan membuat kerja server menjadi lebih ringan karen pekerjaan yang menumpuk di kerjakan secara bergantian sehingga tidak membebani Prosessor dari Server yang digunakan.
Contoh kasus yang bisa di lakukan Queue misalnya adalah :
Cara kerja Queue:
Pada Contoh ilustrasi di atas adalah contoh penggunaan Queue pada sistem Pengolah Video menjadi Stream Video (HLS) yang di mulai dari user mengupload Video kemudian sistem Queue Mengirim Trigger ke Producer kemudian dari Producer di teruskan ke Processor yang mengolah Video lalu mengupload Video ke Cloud dengan format yang sudah di olah.
Pastikan kita sudah memiliki Redis atau sudah menginstall Redis di komputer atau di server
Pastikan kita sudah menginstall Nest CLI atau klik Cara Install Nest JS
Masukan perintah menggunakan terminal
shell
Masuk ke folder "nest-queue-app" lalu Masukan perintah
shell
atau
shell
Buka dan edit file app.module.ts
typescript
Atur redis host, port sesuai dengan Redis yang sudah di persiapkan di awal
Setelah bull sudah di install dan module sudah di import selanjutnya adalah membuat Queue di mana ada beberapa hal yang harus di pahami yaitu Producer dan Consumer.
Pada contoh sederhana kali ini saya akan membuat module TestQueue dimana nanti di dalamnya ada contoh sederhana penggunaan Queue
shell
edit file "test-queue.module.ts"
typescript
shell
typescript
pada fungsi "createTestQueue" di atas adalah untuk menambahkan Queue dimana di dalamnya adalah
typescript
Delay digunakan untuk membuat jeda waktu dengan satuan millisecond, artinya Consumer akan menjalankan tugasnya setelah jeda waktu terpenuhi.
Buat class Processor yang akan berfugsi sebagai consumer atau Processor yang akan menjualankan tugas berdasarkan Queue yang di tambahkan
shell
test-queue.processor
typescript
test-queue.module.ts
typescript
Untuk menjalankan Queue lewat Rest API kita membutuhkan Controller
shell
test-queue.controller.ts
typescript
Jalankan dan Akses http://localhost:3000/test-queue/create-test-queue menggunakan Post
Untuk memudahkan membuat delay saya menggunakan package milliseconds supaya lebih mudah mengatur konversi jeda waktunya
shell
kemudian edit file service
test-queue.service.ts
typescript
Sampai saat ini kita sudah berhasil implementasi Queue menggunakan Bull dan Redis di dalam Nest JS
Related Posts
Queue Nest JS Using Bull & Redis
Queue adalah konsep yang banyak digunakan untuk melakukan pekerjaan secara bergantian sesuai dengan waktu yang telah ditentukan
Add Bull Board for monitoring Queue Nest JS
Pada tutorial Queue sebelumnya kita sudah berhasil membuat Queue menggunakan Bull pada Nest JS, sekarang kita akan memonitor Queue menggunakan Bull Board
Tags