时间:2021-05-26
简介
定时任务是后端开发过程中一项十分常见的需求,常出现在数据统计、垃圾信息清理等场景中。Laravel 提供了一整套的定时任务工具,让我们只需要专注地完成逻辑,剩下的基础工作将由它来承担。
基本用法
生成命令
php artisan make:command AreYouOK5.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`,搞定!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
问题描述:在网站开发中,需要经常开启一些定时任务,例如定时清理脏数据等。本文主要介绍使用laravel自带的TaskScheduling配合cron实现定时任务
SpringBoot与Quartz集成实现分布式定时任务集群直接贴代码POM
前言在我们日常的开发中,很多时候,定时任务都不是写死的,而是写到数据库中,从而实现定时任务的动态配置,下面就通过一个简单的示例,来实现这个功能。一、新建一个sp
整理文档,java动态增加定时任务示例,直接上代码。importorg.apache.tools.ant.util.DateUtils;importorg.qu
记录下Spring自带的定时任务用法。spring中使用定时任务基于xml配置文件使用定时任务首先配置spring开启定时任务