详解Laravel如何实现定时任务

企鹅博客
企鹅博客
企鹅博客
25193
文章
0
评论
2020年8月29日22:32:03 评论 55 views

Laravel如何实现定时任务?本文主要介绍了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,
];

编写调用逻辑:

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实现supervisor执行异步进程的方法

详解Laravel的任务调度console

详解如何利用Laravel事件系统实现登录日志

以上就是详解Laravel如何实现定时任务的详细内容,更多请关注php教程网其它相关文章!

继续阅读
企鹅博客
  • 本文由 发表于 2020年8月29日22:32:03
  • 转载请务必保留本文链接:https://www.qieseo.com/244856.html
关于Laravel中数据迁移与数据填充的解析 php教程

关于Laravel中数据迁移与数据填充的解析

这篇文章主要给大家介绍了关于Laravel中数据迁移与数据填充的相关资料,文中通过示例代码给大家详细介绍了实现的步骤,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们一起看看吧。 前言 这是一...
Laravel 4入门视频教程 php教程

Laravel 4入门视频教程

Laravel 框架是一款优雅、高效的 PHP 框架,越来越流行的同时企业需求也在逐步增加,同样能胜任独立开发的需要,《Laravel 4入门视频教程》将带大家一起认识大名鼎鼎的 Laravel。 课...
Laravel中encrypt与decrypt的实现方法详解 php教程

Laravel中encrypt与decrypt的实现方法详解

这篇文章主要给大家介绍了关于Laravel中encrypt和decrypt的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习...
关于Laravel的缓存方法 php教程

关于Laravel的缓存方法

这篇文章主要介绍了分享一个Laravel好用的缓存的方法的相关资料,需要的朋友可以参考下 Laravel提供的缓存工具很好用,手册里介绍了一些基本的用法,比如get,put,forget,foreve...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: