laravel 使用commond和linux crontab 做计划任务

laravel框架学习

首先说Laravel定时任务Schedule 做的非常好,但是因为一些原因不用它,如何使用laravel的command做计划任务呢?其实更简单了

首先使用创建命令的artisan命令,这里以极光推送的例子为例

php artisan make:command Jpushtest --command=jpushtest

执行完成后会在console下的Commands目录下创建Jpushtest.php

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use App\Http\Services\JpushClient;
class Jpushtest extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'jpushtest';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Command description';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        //
        $jpushClient = new JpushClient();
        $msg = [
            'type' =>1,
            'id' => 1,
            'desc' => 'this is a test'
        ];
        $mobile = '18454262099';
        $res = $jpushClient->push('hello',$msg,$mobile);
        var_dump($res);
    }
}

 


完成这一步基本上就完成了80%了

下面在linux的命令行中,切换到项目的根目录 执行
php artisan jpushtest 看看返回的结果是否执行

如果成功,那么执行crongtab -e
添加
*/5 * * * * /usr/local/php/bin/php /labsys/webroot/gaia/artisan jpushtest
则每5分钟执行一次

白发渔樵

白发渔樵

发表评论

电子邮件地址不会被公开。 必填项已用*标注