当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');
}
实现回退,异常处理架构的最佳方法是什么?
答案 0 :(得分:1)
IronMQ内置了一个称为错误队列的功能,它将收集无法传递到单独拉取队列的消息,以便您以后可以处理它们。这是一个显示其工作原理的图表:
您可以在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