我試圖在作業失敗時從其他表中記錄一些數據。它在失敗的工作表中效果很好,但我無法在工作失敗時讓Queue::failing(function($connection, $job, $data)
工作。我確實試圖把它放在global.php
但沒有運氣。Laravel隊列失敗作業
另一個問題是$job
返回什麼?一個對象或只是工作ID?
我試圖在作業失敗時從其他表中記錄一些數據。它在失敗的工作表中效果很好,但我無法在工作失敗時讓Queue::failing(function($connection, $job, $data)
工作。我確實試圖把它放在global.php
但沒有運氣。Laravel隊列失敗作業
另一個問題是$job
返回什麼?一個對象或只是工作ID?
在global php
上工作。它導致錯誤,只是改變了以下內容:
Queue::failing(function($connection, $job, $data)
要:
Queue::failing(function($connection, $job)
你應該叫隊列:工作與--tries PARAM,爲前:
$ php artisan queue:work sqs --tries=1
沒有這個PARAMS ,你的工作永遠不會失敗。
但記得配置你失敗的表。
1)創建遷移文件:
$ php artisan queue:failed-table
2)運行遷移創建表
$ php artisan migrate
3)在queue.php你需要配置你 '失敗' 表。例如:
'failed' => array(
'database' => 'pgsql', 'table' => 'failed_jobs',
),
現在,當工作得到失敗,它將把它插入failed_jobs表。
只需運行php artisan queue:failed
即可獲取失敗列表。
好的...與排隊驅動程序,你使用的隊列是Beanstalkd,請張貼你試過的一些代碼 – justrohu 2014-09-25 04:54:46
我正在使用豆莖。 – Yuusha 2014-09-25 05:32:01