Home > Article > Backend Development > Detailed explanation of how Laravel implements scheduled tasks
How to implement scheduled tasks in Laravel? This article mainly introduces the sample code for implementing scheduled tasks in Laravel. The editor thinks it is quite good, so I will share it with you now and give it as a reference. Let’s follow the editor to have a look, I hope it will be helpful to everyone.
Introduction
Scheduled tasks are a very common requirement in the back-end development process, often appearing in data statistics, spam cleaning and other scenarios. Laravel provides a complete set of scheduled task tools, so that we only need to focus on completing the logic, and it will take care of the rest of the basic work.
Basic usage
Generate command
php artisan make:command AreYouOK
5.2 and previous versions, this command is `php artisan make:console xxx`
Edit command
Edit the `app/Console/Commands/AreYouOK.php` file and modify the following:
... ... protected $signature = 'areyou:ok'; // 命令名称 protected $description = '雷军,科技圈最会唱歌的男人'; // 命令描述,没什么用 public function __construct() { parent::__construct(); // 初始化代码写到这里,也没什么用 } public function handle() { // 功能代码写到这里 }
Registration command
Edit the `app/Console/Kernel.php` file and register the newly generated class:
protected $commands = [ \App\Console\Commands\AreYouOK::class, ];
Write the calling logic:
protected function schedule(Schedule $schedule) { $schedule->command('areyou:ok') ->timezone('Asia/Shanghai') ->everyMinute(); }
The above logic is called once every minute. Laravel provides time functions of various lengths from one minute to one year, which can be called directly.
Register this Laravel project to the cron of the system
Edit the `/etc/crontab` file and add the following code:
* * * * * root /usr/bin/php /var/www/xxxlaravel/artisan schedule:run >> /dev/null 2>&1
The above line `/var/www/xxxlaravel` in needs to be changed to the actual path.
fire
Restart cron to activate this function: `systemctl restart crond.service`, done!
Related recommendations:
Detailed explanation of how Laravel implements supervisor execution of asynchronous processes
Detailed explanation of Laravel's task scheduling console
Detailed explanation of how to use the Laravel event system to implement login logs
The above is the detailed content of Detailed explanation of how Laravel implements scheduled tasks. For more information, please follow other related articles on the PHP Chinese website!