Laravel redis队列

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/running8/article/details/84787111

1、配置.env

QUEUE_DRIVER=redis

 2、创建队列

php artisan make:job MailuserNewPost

app/Jobs/MailuserNewPost.php

...
public $user;

    public function __construct(User $user)
    {
    $this->user=$user;
    }


    public function handle()
    {
        \Log::info('队列队列队列2'.$this->user->name);
    }

   public function failed(\Exception $exception)
   {
       \Log::error('失败');
    }

....

3、派发任务

在web.php里测试

use App\Models\User;
use App\Jobs\MailuserNewPost;

Route::get('/queue',function (){
    $users=User::all();


    foreach ($users as $user){
        dispatch(new MailuserNewPost($user));
        //dd($user->name);
    }
    dd('done');
});

访问路由,派发任务

3、

 composer require predis/predis ~1.0
composer require laravel/horizon
php artisan vendor:publish --provider="Laravel\Horizon\HorizonServiceProvider"
artisan queue:work --timeout=10 --tries=5

4、打开/horizon面板

猜你喜欢

转载自blog.csdn.net/running8/article/details/84787111