0
我不断调用一个API并在调用几分钟内不断获得堆栈级别太深的错误。我想我在这里缺少一些基本的东西:在递归调用API时保持堆栈级别太深
Class SomeModel
def self.call_api(index)
ref = SomeModel.get_reference
query ||= Api.call(:parameter => ref.parameter, :offset => index)
# .. doing stuff
if index >= 949
sleep(20)
new_num = Integer(number) + 1000
ref.update_attribute(:parameter, new_num)
SomeModel.call_api(1)
else
sleep(10)
begin
# This is a rescue for the case when API call returns nothing.
SomeModel.call_api(index+50)
rescue
new_num = Integer(number) + 1000
ref.update_attribute(:parameter, new_num)
SomeModel.call_api(1)
end
end
end
end
所以这是计算机一直错误的情况。谢谢! – Stpn 2012-08-16 02:40:02