我试图在作业失败时从其他表中记录一些数据。它在失败的工作表中效果很好,但我无法在工作失败时让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