Laravel Queue ile Yavaş İşlemleri Arka Plana Almak

  • Konbuyu başlatan Konbuyu başlatan sysuser
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 25

sysuser

PREMİUM
Katılım
9 Kas 2025
Mesajlar
174
Tepki puanı
4
Cinsiyet
Kadın

Laravel Queue ile Yavaş İşlemleri Arka Plana Almak​


E-posta göndermek, PDF oluşturmak veya harici API çağırmak gibi yavaş işlemler kullanıcıyı bekletti. Queue sistemi bu işlemleri arka planda yürütür.

Job Sınıfı Oluşturma​

Bash:
php artisan make:job SendWelcomeEmail

PHP:
class SendWelcomeEmail implements ShouldQueue {
    use Dispatchable, InteractsWithQueue, Queueable;

    public function __construct(public User $user) {}

    public function handle(): void {
        Mail::to($this->user->email)->send(new WelcomeMail($this->user));
    }
}

Job Gönderme​

PHP:
SendWelcomeEmail::dispatch($user);
SendWelcomeEmail::dispatch($user)->delay(now()->addMinutes(5));

Worker Başlatma​

Bash:
php artisan queue:work --tries=3 --timeout=60

Production'da worker'ı Supervisor ile yönetin; çöktüğünde otomatik yeniden başlamasını sağlayın. Redis driver, database driver'a kıyasla çok daha yüksek throughput sağlar.
 
Geri
Üst