Laravel'de Queue Sistemi: Asenkron İşlemler ve İş Kuyrukları

Kaan Atalay

Kaan Atalay

30 May 2024

Web uygulamalarında bazı işlemler zaman alıcı olabilir ve kullanıcı deneyimini olumsuz etkileyebilir. Laravel Queue Sistemi, bu tür işlemleri arka plana alarak uygulamanızın performansını ve kullanıcı deneyimini iyileştirir.

1. Queue Sistemi Nedir?

Queue sistemi, zaman alan işlemlerin asenkron olarak yürütülmesini sağlayan bir mekanizmadır. Örneğin, e-posta gönderimleri, rapor oluşturma veya dış API çağrıları.

2. Queue Driver'ları

Laravel, çeşitli queue driver'ları destekler:

  • Database: Veritabanı tabanlı kuyruklar.
  • Redis: Hızlı ve etkili bir kuyruk sistemi.
  • Beanstalkd: Hafif ve hızlı bir kuyruk sunucusu.
  • SQS: Amazon'un yönetilen kuyruk hizmeti.

3. Kurulum ve Yapılandırma

.env dosyasında queue driver'ını ayarlayın:

QUEUE_CONNECTION=database

Migrasyonları çalıştırın:

php artisan queue:table
php artisan migrate

4. Job Oluşturma

Yeni bir iş sınıfı oluşturun:

php artisan make:job SendWelcomeEmail

handle metodunda iş mantığını tanımlayın.

5. İşleri Kuyruğa Gönderme

İşi kuyruğa ekleyin:

dispatch(new SendWelcomeEmail($user));

6. Queue Worker'ı Başlatma

Queue işlemlerini yürütmek için worker'ı çalıştırın:

php artisan queue:work

7. Gecikmeli ve Zamanlanmış İşler

  • delay metodu ile işi gecikmeli olarak kuyruğa ekleyebilirsiniz.
dispatch(new SendReport())->delay(now()->addMinutes(10));

8. Hata Yönetimi ve Deneme Sayısı

  • İşlerin başarısız olması durumunda otomatik olarak tekrar denenmesini sağlayabilirsiniz.
  • failed_jobs tablosu ile başarısız işleri takip edin.

9. Prioriteler ve Çoklu Kuyruklar

  • Önceliklendirme yapmak için farklı kuyruk isimleri kullanın.
php artisan queue:work --queue=high,default

10. Supervisord ile Worker Yönetimi

Production ortamında supervisord veya benzeri bir araçla worker'ları yönetebilirsiniz.

Sonuç

Laravel'in queue sistemi, uygulamanızın performansını ve ölçeklenebilirliğini artırmak için güçlü bir araçtır. Asenkron işlemlerle kullanıcı deneyimini iyileştirebilir ve sistem kaynaklarını daha verimli kullanabilirsiniz. Atalay Tech olarak, projelerinizde en iyi uygulamaları kullanarak size destek oluyoruz. Daha fazla bilgi için bizimle iletişime geçin.

Dijital Dönüşüm Ortağınız

Atalay Tech, yenilikçi web yazılım, mobil uygulama ve e-ticaret çözümleri sunan dinamik bir teknoloji şirketidir. Müşteri odaklı yaklaşımımızla iş süreçlerinizi hızlandırıyor ve teknolojiyi verimli bir şekilde kullanmanıza yardımcı oluyoruz. Modern yazılım mimarileri ve yüksek performanslı uygulamalarla iş dünyasında öne çıkmanızı sağlıyoruz.

Kurumsal
İletişim
Blog

Telif Hakkı © 2025 atalay.tech