Scheduled tasks are a very common requirement in the back-end development process, and often appear in scenarios such as data statistics and spam cleaning. 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.
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 take a look, I hope it can help everyone.
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 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:
Copy code The code is as follows:
* * * * * root /usr/bin/php /var/www/xxxlaravel/artisan schedule:run >> /dev/null 2> &1
`/var/www/xxxlaravel` in the above line needs to be changed to the actual path.
fire
Restart cron to activate this function: `systemctl restart crond.service`, done!
Related recommendations:
NodeJs sample code for implementing scheduled tasks
How to obtain WeChat access_token for PHP scheduled tasks
The above is the detailed content of How to implement scheduled tasks in Laravel. For more information, please follow other related articles on the PHP Chinese website!