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.