码迷,mamicode.com
首页 > 其他好文 > 详细

Laravel实现定时任务的示例代码

时间:2018-07-13 10:21:29      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:tis   雷军   描述   prot   后端开发   实例   signature   激活   desc   

https://mp.weixin.qq.com/s/VUEqjwcHRb0ovhP0wup36A

最近在玩Laravel实现定时任务,这个是示例代码,可以参照这个实例。有需要的可以看看

定时任务是后端开发过程中一项十分常见的需求,常出现在数据统计、垃圾信息清理等场景中。Laravel 提供了一整套的定时任务工具,让我们只需要专注地完成逻辑,剩下的基础工作将由它来承担。

基本用法

生成命令

php artisan make:command AreYouOK

5.2 及之前的版本,此命令为 `php artisan make:console xxx`

 

编辑命令

编辑 `app/Console/Commands/AreYouOK.php` 文件,修改如下几处:

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

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

注册命令

编辑 `app/Console/Kernel.php` 文件,将新生成的类进行注册:

 

protected $commands = [
  \App\Console\Commands\AreYouOK::class,
];

 

编写调用逻辑:app/Console/Kernel.php` 文件

protected function schedule(Schedule $schedule)
{
  $schedule->command(areyou:ok)
       ->timezone(Asia/Shanghai)
       ->everyMinute();
}

上面的逻辑是每分钟调用一次。Laravel 提供了从一分钟到一年的各种长度的时间函数,直接调用即可。

把这个 Laravel 项目注册到系统的 cron 里

编辑 `/etc/crontab` 文件,加入如下代码:

* * * * * root /usr/bin/php /var/www/xxxlaravel/artisan schedule:run >> /dev/null 2>&1

上面一行中的 `/var/www/xxxlaravel` 需要改为实际的路径。

fire

重启 cron 激活此功能:

systemctl restart crond.service

搞定!

Laravel实现定时任务的示例代码

标签:tis   雷军   描述   prot   后端开发   实例   signature   激活   desc   

原文地址:https://www.cnblogs.com/lxwphp/p/9303076.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!