Laravel 4 & IronMQ 队列 - 推送失败的异常处理架构?
Laravel 4 & IronMQ queue - Exception handling architecture for push failures?
应该有一个体系结构,当 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');
}
实现后备异常处理架构的最佳方法是什么?
IronMQ 中内置了一个称为错误队列的功能,它将收集无法传送到单独的拉取队列中的消息,以便您稍后处理它们。这是一个显示其工作原理的图表:
您可以在 Iron.io 博客上阅读更多相关信息:http://blog.iron.io/2014/01/push-queues-error-queues-better-queue.html or in the docs here: http://dev.iron.io/mq/reference/push_queues/#error_queues
应该有一个体系结构,当 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');
}
实现后备异常处理架构的最佳方法是什么?
IronMQ 中内置了一个称为错误队列的功能,它将收集无法传送到单独的拉取队列中的消息,以便您稍后处理它们。这是一个显示其工作原理的图表:
您可以在 Iron.io 博客上阅读更多相关信息:http://blog.iron.io/2014/01/push-queues-error-queues-better-queue.html or in the docs here: http://dev.iron.io/mq/reference/push_queues/#error_queues