Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Laravel Queue ve defer(): Her Birini Ne Zaman Kullanmalı (Laravel 11, 12 ve 13)
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Laravel Queue ve defer(): Her Birini Ne Zaman Kullanmalı (Laravel 11, 12 ve 13)

Yazılım

Laravel Queue ve defer(): Her Birini Ne Zaman Kullanmalı (Laravel 11, 12 ve 13)

teknomers
Son güncelleme: 31 Mart 2026 16:12
teknomers
Paylaş
Paylaş

Laravel 11, son yıllarda oldukça pratik bir yardımcıyı sessizce tanıttı: defer().

Bu, HTTP yanıtı gönderildikten sonra kod çalıştırmanıza olanak tanır — ek bir queue worker, Redis veya Supervisor yapılandırması gerekmez. Sadece:

defer(fn () => Metrics::recordOrder($order));
        
Enter fullscreen mode

Exit fullscreen mode

Kullanıcı yanıtı anında alır. Closure, daha sonra çalışır. Sıfır ek altyapı.

Ama birçok geliştirici bunu ya göz ardı ediyor ya da yanlış kullanıyor. İşte şeffaf bir analiz.




Tek Satırlık Kural

  • defer() → “Bu bir çöküşte kaybolursa sorun değil”
  • Queue Job → “Bu işlem başarılı olmalı, başarısız olursa tekrar denensin”



defer() Gerçekte Ne Yapar

HTTP yanıtı gönderildikten sonra aynı PHP sürecinde bir closure çalıştırır.

use function Illuminate\Support\defer;

Route::post('/orders', function (Request $request) {
    $order = Order::create($request->validated());

    defer(fn () => Metrics::recordOrder($order)); // yanıt sonrasında çalışır

    return response()->json($order, 201); // hemen döner
});
        
Enter fullscreen mode

Exit fullscreen mode

Anahtar davranışlar:

  • Yanıt 4xx veya 5xx ise yürütmeyi atlar (bunu aşmak için ->always() kullanabilirsiniz)
  • İsimlendirilebilir ve iptal edilebilir: defer(fn () => ..., 'name') + defer()->forget('name')
  • Sunucu çökmesi durumunda kaybolur — herhangi bir yerde saklanmaz

Sürüm desteği: Sadece Laravel 11+ için geçerlidir. Laravel 10 veya öncesinde mevcut değildir.




Hızlı Karşılaştırma Tablosu

ÖzellikQueue Jobdefer()
Queue worker gerektirir✅ Evet❌ Hayır
Redis / DB sürücüsü gerektirir✅ Evet❌ Hayır
Depolama alanına kaydedilir✅ Evet❌ Hayır
Başarısızlıkta tekrar dener✅ Evet❌ Hayır
Gecikmeli yürütme✅ Evet❌ Hayır
İzleme (Horizon)✅ Evet❌ Hayır
Sıfır kurulum❌ Hayır✅ Evet
Yanıttan sonra çalışırayrı bir süreç✅ aynı süreç



defer() için şunları kullanın:

  • Bir sipariş sonrası analitik kaydetme
  • Sayfa görüntüleme / “son göründü” sayaçlarını artırma
  • Bir kaynak oluşturulduktan sonra cache anahtarını boşaltma
  • Önemli olmayan iç Slack bildirimleri
  • Hafif denetim kaydı yazımları



Queue Jobs için şunları kullanın:

  • İşlemcileri kaybetmemesi gereken iletişim e-postaları
  • Ödeme webhook’ları ve API çağrıları (tekrar denemesi gerekenler)
  • Görüntü/dosya işlemleri (CPU yoğun)
  • Gecikmeli görevler (“24 saat içinde hatırlatmayı gönder”)
  • Horizon veya Telescope aracılığıyla izlenen her şey



⚠️ Swoole Sorunu

Swoole veya FrankenPHP kullanıyorsanız, her zaman Laravel’in defer() fonksiyonunu açıkça içe aktardığınızdan emin olun:

// Swoole'da YANLIŞ — Swoole'un defer()ini çağırır, Laravel'in değil
defer(fn () => Metrics::record($data));

// DOĞRU
use function Illuminate\Support\defer;
defer(fn () => Metrics::record($data));
        
Enter fullscreen mode

Exit fullscreen mode

Swoole, kendi global defer() fonksiyonuna sahiptir. Çatışma sessiz bir şekilde gerçekleşir ve size saatler kaybettirir.




Deferred Fonksiyonlarının Test Edilmesi

public function test_order_records_metrics(): void
{
    $this->withoutDefer(); // deferred closure'ları hemen çalıştırır

    Metrics::shouldReceive('recordOrder')->once();

    $this->postJson('/api/orders', ['product_id' => 1, 'qty' => 2])
         ->assertStatus(201);
}
        
Enter fullscreen mode

Exit fullscreen mode




Tam yazı

Tam karar rehberi için (8 soruluk karar matrisini, Laravel 13 notlarını ve tam kod örneklerini de içeren):

👉 pola5h.github.io/blog/laravel-queue-vs-defer/


Projelerinizde defer() fonksiyonunu ne amaçla kullanıyorsunuz? Yorumlarınızı bırakın 👇

Kaynak: Orijinal Makale

Contents
  • Tek Satırlık Kural
  • defer() Gerçekte Ne Yapar
  • Hızlı Karşılaştırma Tablosu
  • defer() için şunları kullanın:
  • Queue Jobs için şunları kullanın:
  • ⚠️ Swoole Sorunu
  • Deferred Fonksiyonlarının Test Edilmesi
  • Tam yazı
Laravel Alt Alan Adı Rotalarında Kök Alan Adı URL’leri Oluşturma: UrlGenerator’ı Kopyala
İnce Kontrolörler vs Kalın Kontrolörler
Laravel + Vue (Inertia) + gRPC: gRPC Kullanıcı hizmetiyle iletişim kuran basit bir BFF geliştirme
Dayanıklı Veritabanı Tasarımı: PostgreSQL Kısmi ve Fonksiyonel İndeksleri Laravel’de Ustalıkla Kullanma
Veritabanı Dar Boğazlarını Önleyin: Laravel’de Redis Cache Etiketlerini Usta Çalışan Yapın
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Starlink 34343 uydusu parçalanma olayında kayboldu
Sonraki Makale AI Tüm Hava Durumu Uygulamalarını Ele Geçirdi: Yenilikler Neler?

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Acil: Cisco Catalyst SD-WAN Yöneticisi CVE-2026-20245 Açıkları Tehdit Ediyor
Siber Güvenlik
N++ Sonrası Yeni Oyun İçin Beklentiler ve Heyecan Durumu
Oyun
Laufey’in Savaş Taktiği Eski Yunan Üçlemesinden İlham Aldı
Oyun
Şimşek, coaxial kablodan apartmana girip PC’yi patlattı
Donanım
Outlook’un yıllardır güvenlik açığı, Fedora ve Dovecot güncellemesiyle ortaya çıktı
Donanım
Yaz Geliştirici Festivali 2026: Tüm Yenilikler Ortaya Çıkıyor
Oyun
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?