Home >Backend Development >PHP Tutorial >How to implement scheduled tasks using Laravel

How to implement scheduled tasks using Laravel

不言
不言Original
2018-06-13 16:27:091568browse

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

Introduction

Scheduled tasks are a very common requirement in the back-end development process, often appearing in data statistics and spam information In scenes such as 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.

Basic usage

Generate command

php artisan make:command AreYouOK

5.2 and before version, this command is `php artisan make:console xxx`

Edit command

Edit the `app/Console/Commands/AreYouOK.php` file and modify it as follows Several places:

... ...
protected $signature = 'areyou:ok'; // 命令名称
protected $description = '雷军,科技圈最会唱歌的男人'; // 命令描述,没什么用

public function __construct()
{
  parent::__construct();
  // 初始化代码写到这里,也没什么用
}
public function handle()
{
  // 功能代码写到这里
}

Registration command

Edit the `app/Console/Kernel.php` file and add the new Register the 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();
}

above The logic is to call it 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!

The above is the entire content of this article. I hope it will be helpful to everyone's study. For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

About the analysis of CURD operations and coherent operations in the Laravel framework database

The above is the detailed content of How to implement scheduled tasks using Laravel. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn