Laravel 定时任务

来源:互联网 发布:美工设计班 编辑:程序博客网 时间:2024/06/19 00:52
Laravel 定时任务:
一 、创建Command文件
php artisan make:console RefreshToken
 
创建app/Console/Commands 下创建RefreshToken.php
取一个名字
protected $signature = 'refreshToken';
 
添加描述
protected $description = 'Refresh Api Token';
 
 在 handle() 方法中实现功能
public function handle() { Log::info('Token Refreshed'); }
 
php artisan refreshToken(该命令执行handle方法)
 
二、在Kernel.php 文件中注册
protected $commands = [
 // Commands\Inspire::class,
 'App\Console\Commands\RefreshToken',
];
protected function schedule(Schedule $schedule)
{
 $schedule->command('refreshToken')
 ->everyMinute();
}
三、新建cron.txt文件
文件内容:

* * * * * php /home/w/code/BTLIS/artisan schedule:run >> /dev/null 2>&1


例如:* * * * * /usr/bin/php /data/www/lighttpd/hotel_admin/artisan schedule:run >> /dev/null 2>&1


注意: /home/w/code/BTLIS/   为项目目录。

       php  使用绝对路径(which php 查看安装路径)


四、用命令开启任务
在终端目录下(Linux 环境)
告诉crontab 文件名:
crontab cron.txt

开始定时任务
crontab -l
 
或许之后你要结束任务
crontab -r
 
时间间隔:
->hourly()
->daily()
->at($time) // 24 hour time
->dailyAt($time)
->twiceDaily()
->weekdays()
->mondays()
->tuesdays()
->wednesdays()
->thursdays()
->fridays()
->saturdays()
->sundays()
->weekly()
->weeklyOn($day, $time)
->monthly()
->yearly()
->everyFiveMinutes()
->everyTenMinutes()
->everyThirtyMinutes()
->days() // Days of the week.
0 0