美文网首页
laravel任务调度

laravel任务调度

作者: 家书三月 | 来源:发表于2020-02-29 16:14 被阅读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
    

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

    相关文章

      网友评论

          本文标题:laravel任务调度

          本文链接:https://www.haomeiwen.com/subject/tjxpzctx.html