Laravel 定时任务调度 的 Artisan 命令调度
发布日期:2021-05-09 04:16:34 浏览次数:14 分类:博客文章

本文共 1627 字,大约阅读时间需要 5 分钟。

1、创建命令

php artisan make:command command_name --command=artisan_command_name# Explanation:# command_name: 生成的文件名# artisan_command_name: php artisan 命令调度时的命令名称# 结果: 在 /app/Console/Commands/ 下生成名为 command_name.php 的文件# Example: # php artisan make:command LeaderMail --command=LeaderMail# 生成的文件名:LeaderMail# 调度时的命令名称:LeaderMail

2、测试刚才生成的命令是否OK

php artisan LeaderMail# Explanation:# 没有返回则表示成功。# 因为 /app/Console/Commands/LeaderMail.php 的 handle 方法中没有写内容。写了就会有返回。

3、编辑生成的文件 /app/Console/Commands/LeaderMail.php 的 handle 方法

4、编辑 App\Console\Kernel.php 文件,添加调度

# 先到 /app/Console/Kernel.php 中 $commands 数组中进行注册。# 然后在 /app/Console/Kernel.php 的 schedule 方法中定义调度任务。
command('inspire') // ->hourly(); // 每分钟执行一次获取领导信箱 // command() 调度时的命令名称 // everyFiveMinutes() 调度规则 // appendOutputTo() 调度命令进行操作的返回结果记录文件 $schedule->command('LeaderMail')->everyFiveMinutes()->appendOutputTo(base_path('storage/crontab/log.log')); } /** * Register the commands for the application. * * @return void */ protected function commands() { $this->load(__DIR__ . '/Commands'); require base_path('routes/console.php'); }}

5、编辑机器的定时任务 crontab

# 复习# crontab -l # 查看# crontab -e # 编辑# crontab -r # 删除所有# 开始操作crontab -e# 然后添加以下语句* * * * * path-to-your-php/bin/php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1# Explanation:# path-to-your-php/bin/php 是你的PHP的绝对路径,通过 which php 可以得到;# path-to-your-project/artisan 是你项目中Laravel框架中根目录下的 artisan 的绝对路径;

6、如果想单独写出来也可以

* * * * * path-to-your-php/bin/php /path-to-your-project/artisan LeaderMail >> /dev/null 2>&1
上一篇:Laravel 配置 SqlDebug 服务,进行实时监听打印 SQL
下一篇:Redis 的基本数据类型 和 基础应用场景

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月05日 09时54分06秒