使用 queue delay 總是超過設定時間,不知為何?
各位好,我之前寫的專案被說出有個問題,我有一個Job用來將網頁轉成PDF
那我觸發這個工作後,先把它放在Queue中,希望延遲10分鐘 (10*60sec)在來運作這個工作
$job = (new TurnPageToPDF($order))->onQueue('PDF')->delay(10 60);
$this->dispatch($job);
可是每次當這個工作開始運行都已經過了20幾分鐘了
遲遲找不出原因
而我所使用queue的設定如下
'database' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'default',
'expire' => 60,
],
當上面的程式執行後,我會在我的資料表中看到
http://ppt.cc/HZpGI@.jpg
程式的確有把工作放到database的 jobs 資料表中
可是不論我怎麼樣想要去觸發這個工作就是沒反應php artisan queue:work --daemon --queue="PDF"
而這個工作就會在超過十分鐘,大約20幾分鐘之後才被我的supervisor觸發 ....
[program:worker-test]
command=php /var/www/project/artisan --env=production queue:work --daemon --queue="PDF"
autostart=true
autorestart=true
stderr_logfile=/var/log/lara_PDF_queue.err.log
stdout_logfile=/var/log/lara_PDF_queue.out.log
真的不知道為什麼,不知道有沒有前輩可以指導一下
感激不盡
推荐文章: