Tüm Sayfalar / 75 - Horizon Queue
75 / 161
Arka Plan Islemleri

Horizon Queue

Laravel Horizon ile is kuyrugu yonetimi

Biz Ne Yaptik?

Laravel Horizon kurduk. Uzun suren islemler artik arka planda calisiyor. Kullanici beklemek zorunda degil.

E-posta gonderme, gorsel isleme, rapor olusturma, bildirim gonderme... Hepsi kuyruga ekleniyor ve siraya gore isleniyor.

Sonuc: Kullanici istegi aninda tamamlaniyor. Agir isler arka planda, kimse beklemez.

4
Worker Sayisi
12,847
Gunluk Job
99.8%
Basari Orani

Arkada Ne Oluyor?

Kuyruk Akisi

Job Ekle
Kuyruk
Worker
Tamam!

Kuyruklar

high (Yuksek Oncelik)
Odemeler, Guvenlik
default (Varsayilan)
E-postalar, Bildirimler
low (Dusuk Oncelik)
Raporlar, Temizlik

Kuyruga Eklenen Isler

E-posta gonderme
Push bildirim
Gorsel isleme
Rapor olusturma
MP3 analizi
Webhook cagrilari

Admin Panelden Ne Görebilirsiniz?

Horizon Dashboard

/horizon - Canli izleme paneli

Bekleyen Isler

Horizon > Pending Jobs

Basarisiz Isler

Horizon > Failed Jobs

Performans Grafigi

Horizon > Metrics

Arkaplanda Neler Çalışıyor?

Bir iş kuyruğa eklendiğinde arka planda şu adımlar gerçekleşir:

1

Job Dispatch (İş Gönderme)

Kodda SendEmailJob::dispatch($user) çağrılır. Laravel bu job'ı serialize() ile JSON'a dönüştürüp Redis'e yazar.

2

Redis Queue (Kuyruk Depolama)

Redis LPUSH queues:default komutu ile job'ı kuyruğun sonuna ekler. Her kuyruk (high, default, low) ayrı bir Redis listesi olarak tutulur.

3

Horizon Supervisor (İş Dağıtıcı)

Horizon Supervisor süreci sürekli çalışır. Worker'ların sayısını izler, gerekirse yeni worker başlatır veya durdurur.

4

Worker Process (İşçi Süreci)

Worker BRPOP queues:high queues:default queues:low ile kuyruktan job alır. Önce high, sonra default, en son low kuyruğuna bakar (öncelik sırası).

5

Job Execution (İş Çalıştırma)

Worker job'ı unserialize() ile nesneye dönüştürür ve handle() metodunu çağırır. E-posta gönderilir, görsel işlenir vs.

6

Completion & Retry (Tamamlanma/Yeniden Deneme)

Başarılı olursa job silinir ve metrikler güncellenir. Hata olursa failed_jobs tablosuna yazılır veya $tries sayısına göre tekrar kuyruğa eklenir.

Bu Sayfanın Anahtar Terimleri

Queue

Is kuyrugu. Islerin sirayla islenecegi liste.

Job

Is. Kuyruga eklenen tek bir gorev.

Worker

Isci. Kuyruktan isleri alip calistiran proses.

Horizon

Laravel'in kuyruk yonetim paneli. Izleme ve kontrol.

Job Kuyrugu Canli
SendEmailJob 0.2s
ProcessImageJob bekliyor
NotificationJob bekliyor
ReportJob bekliyor
Aktif Worker
12,847
Tamamlanan
23
Bekleyen
high
2 job
default
18 job
low
3 job
Basari Orani
99.8%