自定义 Laravel 事件监听器队列名失效的原因
因为需要指定服务器消费某些事件队列,所以使用了自定义事件监听器队列名。做了如下更改
<?php
namespace App\Events\Api;
use App\Events\Event;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Contracts\Queue\ShouldQueue;
class ApiEvent extends Event implements ShouldBroadcast, ShouldQueue
{
/**
* The name of the queue the job should be sent to.
*
* @var string|null
*/
public $queue = 'api';
}
但是在监控面板上看到队列名依然是 default。
原来需要先定义连接名之后自定义队列名才会生效。
改成下面的就可以了
<?php
namespace App\Events\Api;
use App\Events\Event;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Contracts\Queue\ShouldQueue;
class ApiEvent extends Event implements ShouldBroadcast, ShouldQueue
{
/**
* The name of the connection the job should be sent to.
*
* @var string|null
*/
public $connection = 'redis';
/**
* The name of the queue the job should be sent to.
*
* @var string|null
*/
public $queue = 'api';
}
自带的我觉得一点都不方便