完全改述我的问题。
我是受限制的API的消费者,需要确保我可以控制来自许多不同来源的呼叫。实际上,我需要执行与http://martinciu.com/2011/08/how-to-add-api-throttle-to-your-rails-app.html
相反的操作我可以拥有一个真正的全局变量,如下面的每个用户连接会话都可以访问吗?或者是否已经有一个GEM可以帮助我根据API要求排队请求,比如说每秒最多4次API调用
应用程序范围的队列变量的想法:
req_queue = {
:api_name1 => [ '2014/11/26 13:00:00', '2014/11/26 13:00:01', '2014/11/26 13:00:01'],
:api_name2 => [ '2014/11/26 13:00:01', '2014/11/26 13:00:01', '2014/11/26 13:00:01'],
etc
}
我的想法是为每个请求添加一个时间戳,每次过期的将被下一个已完成的API调用和/或下一个传入的API调用清除。