Bu yazımda sizlere Laravel framework ile nasıl zamanlanmış görev oluşturacağımızı anlatacağım.
Peki zamanlanmış görevleri neden kullanırız ?
Örneğin belirli saatler arasında kullanıcıları bir tablodan diğerine aktarmamız gerekiyor.Bunu normalde yapmaya kalksak sürekli saati kontrol ettirmemiz gerekir ve bu da sistemi çok yorar.Bunun yerine biz zamanlanmış görevleri kullanırız.
Laravel’de Zamanlanmış Görevler
Laravel framework’de zamanlanmış görevler işlemlerini ~app/Console/Kernel.php içinde yapıyoruz.Bu sınıf içerisinde schedule fonksiyonu içinde zamanlanmış görevin ne olacağını yazıyoruz.Bir örnek yapalım ve konu daha da pekişsin.
Örneğimiz Bilgiler tablosuna her dakika yeni kayıt atsın ve bunu da daha sonra zamanlanmış görev olarak atayalım ve otomatik bir şekilde her dakika kayıtlarımız atılsın.
$schedule->call(function () { BilgilerModel::create(["ad"=>"task","soyad"=>"task"]); })->everyMinute();
Daha detaylı bilgi için : Laravel Dökümantasyon
Şimdi bu şekilde projeyi sunucuya attığımız zaman görev çalışmayacaktır.Bunun için işletim sisteminde zamanlanmış görev oluşturmanız gerekmektedir.
Linux’ta zamanlanmış görev oluşturmak için terminali açalım.Daha sonra crontab -e komutunu girip en alt satıra şu komutu kopyalıyoruz ;
* * * * * php dosyaYolu/artisan schedule:run >> /dev/null 2>&1
dosyaYolu yazan kısmı projenizin bulunduğu adres ile değiştirmeyi unutmayın.* * * * * işlemin her dakika çalışmasını sağlamak içindir.
Detaylı Bilgi İçin : https://www.kadinyazilimci.com/crontab-nedir-nasil-kullanilir/