Laravel 4& IronMQ队列 - 推送失败的异常处理架构?

时间:2015-03-04 16:26:06

标签: laravel exception-handling queue iron.io push-queue

当Laravel无法与IronIO服务器通信时,应该有一个架构可以使任何推送队列任务丢失。

例如,IronIO服务中断或DNS打嗝。或者就像我们的情况一样,似乎我们的iron-io / iron_mq软件包已经变老了,推动开始提供例外:

'Http_Exception' with message 'http error: 0 |
Problem with the SSL CA cert (path? access rights?)'
in /var/www/project/vendor/iron-io/iron_core/IronCore.class.php:346

gecbla有suggested捕获异常,但你会如何从那里继续?

try {

    Queue::push('AddContent');

} catch (Http_Exception $e) {

    Log::info('Queue::catch');
}

实现回退,异常处理架构的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

IronMQ内置了一个称为错误队列的功能,它将收集无法传递到单独拉取队列的消息,以便您以后可以处理它们。这是一个显示其工作原理的图表:

enter image description here

您可以在Iron.io博客上阅读更多相关信息:http://blog.iron.io/2014/01/push-queues-error-queues-better-queue.html或此处的文档:http://dev.iron.io/mq/reference/push_queues/#error_queues