Bull
- Node.js kursu
- İleri seviye
- Ders 56/83
- 5 dk
Bull ile Redis tabanlı kuyruk öğrenirsin.
Bull kütüphanesi
Bull, Node.js için Redis üstüne kurulu popüler bir kuyruk kütüphanesidir. Yüksek performanslı, dayanıklı ve retry/backoff gibi gelişmiş özellikler sunar. npm install bull ile yüklenir.
Örnek: const Bull = require("bull"); const queue = new Bull("email-kuyrugu");. Bull, Redis'i arka planda kullanır; mesajları Redis'te saklar. Bu, Bull çökerse bile mesajların kaybolmamasını sağlar. Bull, önceliklendirme (priority), gecikmeli işler (delayed jobs), tekrarlanan işler (repeatable jobs) ve eşzamanlılık (concurrency) gibi özellikler de sunar. Üretimde Redis'in ayrı bir süreç olarak çalışması gerekir. Bull, basit API'siyle karmaşık kuyruk senaryolarını yönetmeyi kolaylaştırır.
Bull kurulumu
Bull kullanmak için önce Redis'in çalışıyor olması gerekir. Sonra npm install bull ile Bull'u yüklersin. Kodda require("bull") ile içe aktarır ve new Bull("isim") ile kuyruk oluşturursun.
Örnek: const Bull = require("bull"); const emailQueue = new Bull("email");. Kuyruk adı, Redis'te bu kuyruğa ait anahtarı belirler. Aynı ada sahip iki kuyruk aslında aynı kuyruğu paylaşır; bu yüzden adlar benzersiz olmalıdır. Bull varsayılan olarak localhost:6379'daki Redis'e bağlanır; üretimde redis://... bağlantı dizesi verilir. Kuyruk oluşturulduktan sonra queue.add ile mesaj ekler, queue.process ile tüketici tanımlarsın.
Uygulama Bull kuyruğu oluştur
bull modülünü içe aktar. new Bull("is-kuyrugu") ile bir kuyruk oluştur ve kuyruk değişkenine ata. console.log ile "Bull hazır" yaz.
Başlangıç kodu
// bull modülünü içe aktar
// buraya yaz
// "is-kuyrugu" adında yeni kuyruk oluştur
// buraya yaz
// "Bull hazır" yazdır
// buraya yazÖrnek çözüm
const Bull = require("bull");
const kuyruk = new Bull("is-kuyrugu");
console.log("Bull hazır");Beklenen çıktı
Bull hazır
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
Bull |
Kuyruk kütüphanesi |
Redis |
Arka planda mesaj saklar |
new Bull(name) |
Yeni kuyruk oluşturur |
npm install bull |
Paketi yükler |
2 Bull hangi veri deposunu kullanır?
const queue = new Bull("email")- MongoDB
- Redis Doğru cevap
- Dosya sistemi
- PostgreSQL
Açıklama: Bull, Redis üstüne kuruludur.
3 Bull içe aktarma satırını tamamla
const Bull = require(____);
const Bull = require("bull");
Açıklama: Bull modülü "bull" adıyla yüklenir.