Laravel 8 自定義隊列連接 & 隊列名稱

2021-07-19 10:07 更新

如果你想要自定義事件監(jiān)聽器所使用的隊列的連接和名稱,你可以在監(jiān)聽器類中定義 $connection,$queue$delay 屬性:

<?php

namespace App\Listeners;

use App\Events\OrderShipped;
use Illuminate\Contracts\Queue\ShouldQueue;

class SendShipmentNotification implements ShouldQueue
{
    /**
     * 任務(wù)將被發(fā)送到的連接的名稱
     *
     * @var string|null
     */
    public $connection = 'sqs';

    /**
     * 任務(wù)將被發(fā)送到的隊列的名稱
     *
     * @var string|null
     */
    public $queue = 'listeners';

    /**
     * 任務(wù)被處理的延遲時間(秒)
     *
     * @var int
     */
    public $delay = 60;
}

如果你想在運行時定義監(jiān)聽器的隊列,可以在監(jiān)聽器上定義一個 viaQueue 方法:

/**
 * 獲取監(jiān)聽器隊列的名稱
 *
 * @return string
 */
public function viaQueue()
{
    return 'listeners';
}
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號