نحوه اجرا یک متد در دوره های زمانی با لاراول
بعضی مواقع شما احتیاج دارید تا یک کار در سیستمتون طبق یک بازه زمانی اجرا بشه . مثلا میخواید کاربرایی که ثبت نامشون تکمیل نشده روزانه به طور خودکار حذف بشن یا سفارش های تکمیل نشده به صورت ساعتی به مدیریت اعلام بشه …
برای اینکار در ابتدا یک command میسازیم ( آموزشش اینجاست ). بعدش به فایل app/Console/Kernel.php مراجعه میکنیم و تو قسمت schedule به شکل زیر اصلاح میکنیم :
protected function schedule(Schedule $schedule) { $schedule->command('job:start') ->daily(); }
حالا دستور job.start که تو دستور قبل ساختیم به صورت روزانه اجرا میکنه . شما میتونید اون daily رو زمان های مختلف تبدیل کنید.
برای تست عملکرد تسک های برنامه ریزی شده از دستور زیر استفاده میکنیم :
php artisan schedule:list
همچنین میتونیم این مورد رو هاست های سی پنل به شکر زیر به cron jobs اضافه کنیم :
/usr/local/bin/ea-php73 /home/ahmadnc1/telegram.ahmadn.com/artisan schedule:run >> /dev/null 2>&1