本篇文章给大家带来的内容是关于laravel任务调度的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
导语:之前写过使用 Linux 的进行定时任务,实际上 laravel 也可以执行定时任务。需求是统计每日访问的 IP 数,虽然数据表中有数据,为了演示,新建监听器统计。
记录 IP
这篇文章中介绍了实现了事件/监听器,在此基础上进行扩展。
注册一个新的监听器,在 app/Providers/EventServiceProvider.php 文件中新添加 CreateUserIpLog
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
添加完成后执行 php artisan event:generate
,创建好了 app/Listeners/CreateUserIpLog.php
文件;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
统计访问
上面将用户的 IP 记录下来,然后就是编写统计代码
php artisan make:command CountIpDay
,新建了 app/Console/Commands/CountIpDay.php
文件;protected $signature = 'countIp:day';
和描述 protected $description = '统计每日访问 IP';
handle
方法中编写代码,也可以在 kernel.php
中使用 emailOutputTo
方法发送邮件1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
设置任务调度
app/Console/Kernel.php
的 $commands
1 2 3 4 5 6 7 8 |
|
schedule
方法中设置定时任务,执行时间为每天凌晨一点1 2 3 4 5 6 7 8 9 10 |
|
artisan schedule:run
,如下* * * * * /you_php you_path/artisan schedule:run >> /dev/null 2>&1
以上是laravel任务调度的介绍(附代码)的详细内容。更多信息请关注PHP中文网其他相关文章!