laravel任务调度

2020-02-29  本文已影响0人  家书三月
1.创建定时任务
crontab -e

编写以下cron语句:

* * * * * /usr/bin/php /www/wwwroot/guxicun/artisan schedule:run >> /dev/null 2>&1

/usr/bin/php为PHP路径,/www/wwwroot/guxicun为项目绝对路径根目录,如果不知道PHP路径

which php

添加完后输入以下命令查看:

crontab -l

删除所有定时任务:

crontab -r
2.创建命令

php版本<5.3

 php  artisan make:console command_name --command=artisan_command_name

php版本>=5.3

Php artisan make:command command_name --command=artisan_command_name

command_name:生成的文件名
artisan_command_name: php artisan命令调度时的命令名称

php artisan make:console Test --command=xzj:test

Test是命令名,xzj:test是控制台执行的命令,类似make:console。
执行完后,会在app/Console/Commands目录下生成一个Test.php文件:

3.运行命令

在运行命令前需要将其注册到App\Console\Kernel的$commands属性中:

protected $commands = [
        //
        Commands\Test::class,
    ];
protected function schedule(Schedule $schedule)
    {
        $schedule->command('xzj:test')//Test.php中的signature 
                 ->everyFiveMinutes();//每五分钟执行一次
    }

schedule:run 会执行App\Console\Kernel里schedule下的注册命令
如果你想单独执行某个命令可以这样:

* * * * * /usr/bin/php /www/wwwroot/guxicun/artisan xzj:test >> /dev/null 2>&1

如果未执行,可查看日志。

上一篇 下一篇

猜你喜欢

热点阅读