Laravel实现定时任务的示例代码
2024-09-06 22:57:09
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 >&
上面一行中的 `/var/www/xxxlaravel` 需要改为实际的路径。
fire
重启 cron 激活此功能:
systemctl restart crond.service
搞定!
最新文章
- HBase如何选取split point
- Log4j源代码学习
- spring随手笔记1:constructor-arg
- Android SDK版本和ADT版本
- UVA 714 Copying Books 二分
- Android(java)学习笔记187:Android中操作XML数据(使用Pull解析器)
- 将MFC Grid control封装为DLL的做法及其在DLL中的使用方法
- 简易js网页实时时钟日历
- ElasticSearch查询 第五篇:布尔查询
- 基于 HTML5 WebGL 的 3D 仓储管理系统
- 使用基于Android网络通信的OkHttp库实现Get和Post方式简单操作服务器JSON格式数据
- log4net:ERROR XmlHierarchyConfigurator: Cannot find Property [File] to set object on [TF.Log.FileAppender]
- Delphi 在dbgrideh中表格输入数据时有效性的检查(转)
- [redis] redis cli的学习记录
- Python安装与Pycharm使用入门
- MSC服务器-主从检测脚本-check_server_state.sh
- android音乐播放器开发 SweetMusicPlayer 摇一摇换歌
- Sword libcurl使用
- ldap快速配置
- java 把InputStream流写入到文件中