laravel5.1事件使用队列时指定队列名称


timg (2).jpg

在使用laravel5.1的时候,我们可以在队列中使用onQueue方法指定队列名称,但是在事件中,官方文档中提都没提怎么指定队列的名称。那怎么样在事件中指定队列呢?在5.5的文档中只需要设置一个属性即可

    public $queue = 'listeners';

参照这个,我们把这个属性也添加到监听器中,同时添加queue()方法

public function queue($queue, $job, $data)
       {
              if (isset($this->queue, $this->delay)) {
                     return $queue->laterOn($this->queue, $this->delay, $job, $data);
              }

              if (isset($this->queue)) {
                     return $queue->pushOn($this->queue, $job, $data);
              }

              if (isset($this->delay)) {
                     return $queue->later($this->delay, $job, $data);
              }

              return $queue->push($job, $data);
       }

然后你就会发现,成功鸟~哈哈哈

如果你想在事件失败时调用一个方法,和队列失败一样,我们想在失败的时候调用一个failed()方法,那么直接添加failed()方法即可

public function failed()
{
    Log::error('失败了');
}


本文 暂无 评论

Top