CodeBlanks Logo Icon CodeBlanks

Bull

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

index.js
// 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

index.js
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?

index.js
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

Soru
const Bull = require(____);
Cevap
const Bull = require("bull");

Açıklama: Bull modülü "bull" adıyla yüklenir.

İleri seviye bölümündeki tüm dersler