laravel 任务调度创建,执行成功

2021-05-11  本文已影响0人  天岚的殇

一代码

1.App\Console\Kernel.php中编写laravel代码


protected function schedule(Schedule $schedule)

{

    $schedule->command('user:vip')->withoutOverlapping()->daily();;

}


schedule方法中调用指定的任务


2 添加注册脚本


protected $commands = ['App\\Console\\Commands\\UserVip'];


3创建任务UserVip,在App\Console\Commands/ 下新建UserVip.php文件,如下,有模板就用模板,没有就用命令创建。(进入项目路径addons/shimmer_liveshop,有artisan文件的目录下执行,php artisan make:command UserVip会在App\Console\Commands\下生成UserVip.php文件)


namespace App\Console\Commands;

use Illuminate\Console\Command;

class SevenTime extends Command

{

    /**

* The name and signature of the console command.

*

    * @var string

*/

    protected $signature = 'command:name';

    /**

* The console command description.

*

    * @var string

*/

    protected $description = 'Command description';

    /**

* Create a new command instance.

*

    * @return void

*/

    public function __construct()

{

        parent::__construct();

    }

private function userVipOver(){

//业务

}

    /**

* Execute the console command.

*

    * @return mixed

*/

    public function handle()

{

        $this->userVipOver();

    }

}


如果是手动复制模板,记得修改

在handle()方法中调用自定义方法,

二。服务器执行

在命令行输入

crontab -e

添加如下代码

* * * * * /usr/local/php/bin/php /mnt/wwwroot/addons/shimmer_liveshop/artisan schedule:run >> /dev/null 2>&1

保存后   执行   php artisan schedule:run       在artisan  的目录下执行哦

注意1,我遇到执行上面命令后只执行一次,是php环境没配置好,所以改为上面的  /usr/local/php/bin/php   教程上是直接  php  /mnt/wwwroot/addons/shimmer_liveshop/artisan schedule:run >> /dev/null 2>&1

注意2, 如果执行命令,任务没有执行,返回代码部分检查问题

上一篇 下一篇

猜你喜欢

热点阅读