在rails应用程序中排队传入的API请求

时间:2013-06-17 10:27:22

标签: ruby-on-rails resque

我有一个用户连续发送数据的平台。 此数据由Android应用程序同步发送,否则可能会发生不稳定状态。

当API调用失败(由于rails中的异常)并且连续的API调用通过时,这种不稳定状态仍然出现。

因此,如果发生错误,我想为每个用户排队传入的API请求。

对传入的API请求进行排队的最佳方法是什么? 1)像resque这样的宝石是否适合这个要求?如果是的话,每个用户应该拥有自己的队列吗? 2)或者在Rails的新模型中构建自己的队列更简洁,更简单吗?

2 个答案:

答案 0 :(得分:0)

我建议使用名为Event Machine的宝石。

它是一个用于实时处理多个请求的gem,具有各种配置选项和扩展能力,可保持高性能和稳定性。

This是另一个宝石的官方网站。

希望有所帮助。

答案 1 :(得分:0)

感谢两个答案。 我决定最终为每个用户建立自己的队列, 然后,delayed_job的工作人员将继续经历这些队列。

为了保持队列的迭代严格同步,我在队列中使用了一个锁定机制。