2017-06-05 91 views
0

我試圖在延遲中使用Laravel中的隊列。我永遠無法延遲工作,所有的工作立即被解僱。延遲排隊的作業立即通過數據庫驅動程序觸發

我在config/queue.php和.env中設置了驅動程序作爲「數據庫」我還使用php artisan創建了作業表並遷移。 運行php工匠隊列:工作或隊列:偵聽具有相同的效果,作業立即啓動。

我在我的數據庫,在工作表,字段「available_at」和「created_at」,其實都包含相同的時間戳看到,無視我把代碼中的延遲:

$job = (new ParkingMatchJob($this->seller,$this->job_counter+1))->delay(Carbon::now()->addSeconds(20)); 
$this->dispatch($job); 

我也嘗試過:

$job = (new ParkingMatchJob($this->seller,$this->job_counter+1))->delay(20); 
$this->dispatch($job); 

無濟於事。

我沒有看到任何錯誤laravel.log或php_error.log

我感謝你在前進,如果你能幫助我。

+0

你實現你的類'ParkingMatchJob'的'ShouldQueue'接口? – JiFus

+0

class ParkingMatchJob implements ShouldQueue –

+0

use Dispatchable,InteractsWithQueue,Queueable,SerializesModels; –

回答

0

我認爲發貨沒有正確的順序。

延遲()之前,它應該是:

ParkingMatchJob::dispatch($this->seller,$this->job_counter+1)->delay(Carbon::now()->addSeconds(20)); 
相關問題