 (14).png)
Merhaba arkadaşlar, bugün sizlere Laravel’de Queue (kuyruk) ve Job (iş) yönetimi hakkında detaylı bir rehber sunacağım. Laravel, uzun süren veya zaman alıcı işlemleri arka planda çalıştırmak için güçlü bir queue sistemi sunar. Bu sayede, kullanıcıların beklemesini engelleyerek uygulamanızın performansını artırabilirsiniz. Gelin, bu süreci adım adım inceleyelim.
Queue Yapılandırması
Laravel, queue işlemleri için birçok farklı sürücü sunar. Bunlar arasında database, redis, sqs ve sync gibi seçenekler bulunur. Queue yapılandırmasını .env dosyasından yapabilirsiniz:
QUEUE_CONNECTION=database
Eğer database sürücüsünü kullanıyorsanız, queue tablolarını oluşturmak için aşağıdaki komutu çalıştırın:
php artisan queue:table php artisan migrate
Job Oluşturma
Yeni bir job oluşturmak için aşağıdaki komutu kullanabilirsiniz:
php artisan make:job SendEmail
Bu komut, app/Jobs/SendEmail.php dosyasını oluşturacaktır. Job dosyasını açarak handle metodunu düzenleyin:
public function handle()
{
// E-posta gönderme işlemi
Mail::to($this->email)->send(new WelcomeMail());
}
Job’u Queue’ya Ekleme
Job’u queue’ya eklemek için dispatch fonksiyonunu kullanabilirsiniz. Örneğin, bir kullanıcı kaydolduğunda e-posta göndermek için:
SendEmail::dispatch($user->email);
Queue Worker’ı Başlatma
Queue’daki job’ları işlemek için queue worker’ı başlatmanız gerekiyor. Aşağıdaki komutu kullanarak queue worker’ı başlatabilirsiniz:
php artisan queue:work
supervisor gibi araçlar kullanabilirsiniz.config/queue.php dosyasından yapılandırabilirsiniz.php artisan queue:work --delay=60 gibi komutlar kullanabilirsiniz.Laravel’de queue ve job yönetimi, uzun süren işlemleri arka planda çalıştırarak uygulamanızın performansını artırmanın en etkili yollarından biridir. Eğer kullanıcı deneyimini iyileştirmek ve uygulamanızın ölçeklenebilirliğini artırmak istiyorsanız, queue ve job’ları mutlaka kullanmalısınız. Bir sonraki yazımda, Laravel’de Eloquent ORM: Veritabanı İşlemlerini Kolaylaştırın konusuna değineceğim. Görüşmek üzere!