Tüm Sayfalar / 92 - Job Queue
Sayfa 92 / 161
Arka Plan İşlemleri

Job Queue

Ağır işleri arka planda sıraya alıp teker teker yapan sistem

Biz Ne Yaptık?

Mail gönderme, resim işleme, HLS dönüşümü gibi zaman alan işlemleri kullanıcının beklemesine gerek kalmadan arka planda çalıştıran bir kuyruk sistemi kurduk. Laravel Horizon ile bu kuyrukları yönetiyoruz.

5 Kuyruk

default, high, mail, media, notifications

32 Job Tipi

Mail, HLS, thumbnail, notification vs.

2 Worker

CPU tasarruflu yapılandırma

Otomatik Retry

Başarısız işler 3 kez tekrar denenir

Arkaplanda Neler Çalışıyor?

Bir job kuyruğa eklendiğinde Laravel Queue sistemi şu süreci işletir:

1

Job Creation (Job Oluşturma)

ConvertToHlsJob::dispatch($song) çağrılır. Job sınıfı ShouldQueue interface'ini implement eder, $queue = 'media' ile kuyruk belirlenir.

2

Serialization (Serileştirme)

Job nesnesi serialize() ile JSON'a dönüştürülür. Eloquent modeller sadece ID olarak saklanır (SerializesModels trait).

3

Redis Push (Kuyruğa Ekleme)

Redis'e LPUSH queues:media komutu ile job eklenir. delay() kullanıldıysa ZADD queues:media:delayed sorted set'e eklenir.

4

Worker Pop (Job Alma)

Horizon worker BRPOP ile kuyruktan job çeker. unserialize() ile nesneye dönüştürür, model ID'lerden fresh instance yükler.

5

Handle Execution (İşleme)

Job'ın handle() metodu çağrılır. FFmpeg ile HLS dönüşümü yapılır, thumbnail oluşturulur. İşlem bitince job silinir.

6

Failure Handling (Hata Yönetimi)

Exception fırlatılırsa $tries kadar tekrar denenir. Başarısız olursa failed_jobs tablosuna yazılır ve failed() metodu çağrılır.

Admin Panelden Ne Görebilirsiniz?

Horizon Dashboard

Canlı kuyruk durumu ve metrikleri

Bekleyen İşler

Kuyrukta sırada bekleyen job sayısı

Tamamlanan İşler

Başarıyla biten job istatistikleri

Başarısız İşler

Hata veren jobların detayları

Bu Sayfanın Anahtar Terimleri

Job

Arka planda yapılacak tek bir iş birimi

Queue

Jobların beklediği kuyruk/sıra

Worker

Kuyruktaki jobları çalıştıran işçi süreci

Horizon

Laravel'in kuyruk yonetim paneli

Job Queue
Arka Plan İşlem Kuyruğu
ConvertToHls
song_1234.mp3
Bekliyor
SendMail
welcome@user.com
İşleniyor
CreateThumbnail
album_cover.jpg
Tamam
SendNotification
user_5678
Bekliyor
UpdateStats
daily_report
İşleniyor
32
Job Tipi
5
Kuyruk
2
Worker