Laravel ile Asenkron İşler ve Kuyruklar (Jobs and Queues) Bonus: Horizon


Ayrıntılar
Laravel uygulamanızda uzun zaman alan işlemler kullanıcıları bekletebilir ve herkes için can sıkıcıdır. Örneğin bir kullanıcının sistemdeki tüm verisini indirmeyi talep ettiğini, sizin de bunu bir zip dosyası haline getirip kullanıcıya indirteceğinizi varsayalım. Ya da kullanıcının yüklediği wav formatlı ses dosyasını uygulamanızda kullanmadan önce mp3 formatına çevireceğinizi varsayalım. Ya da çok daha basiti; blog sisteminize eklenen bir yazı için o yazının kategorisine abone olan tüm kullanıcılara bir "yeni yazı eklendi" e-postası göndereceğinizi varsayalım. Bunların hepsi zaman alacak işlemler ve Web uygulamalarının bir an önce HTTP yanıtı oluşturmasını önleyecek şeyler.
Düşünün; kullanıcı "tüm verimi indir" talebinde bulundu, bunun için kullanıcının kayıt olduğu tarihten itibaren yaptığı tüm işlemlerin kayıtlarına erişilecek, bunların bir listesi oluşturulacak, işlemlerle ilgili dosyalar varsa (örneğin yüklenen görseller) bunlar bir araya getirilecek... Dakikalar sürebilir. Yüksek ihtimalle kullanıcının bunu yapmak için göndermiş olduğu HTTP talebi zaman aşımına uğrar (yakışıklısından bi 408).
İşte bunun gibi durumlarda uygulamalarımızın zaman alabilecek işleri arka planda yapmasını sağlarsak hem daha iyi bir kullanıcı deneyimi hem de beklendiği gibi çalışan bir ürün ortaya koymuş oluruz.
Dünyanın en bilindik ve en çok kullanılan Web geliştirme araçlarından olan Laravel'de bu ihtiyacımız için harika çözümler bulunuyor.
Bu çevrimiçi etkinlikte Laravel İstanbul ekibinden Uğur Arıcı'nın anlatımı ile Laravel'de Jobs (İşler) ve Queues (Kuyruklar) başlıklarına değineceğiz. Bonus olarak kuyrukların güncel durumlarını ve kuyrukta bekleyen, tamamlanmış ve hata vermiş işleri kolaylıkla takip etmemizi sağlayan bir arayüz sunan Horizon'dan bahsedeceğiz.
Çevrimiçi düzenlenecek etkinliğimiz YouTube'dan canlı olarak yayınlanacaktır. https://www.youtube.com/watch?v=371wW4IcKlE
Not: Yayın linki değişebilir, bu yüzden etkinliğe katılım durumunuzu "Katılacağım" olarak bildirmeniz çok önemlidir. Yayın linki değişirse bu sayede doğru linke erişebilirsiniz.

Laravel ile Asenkron İşler ve Kuyruklar (Jobs and Queues) Bonus: Horizon