在Rails中,我正在执行一个rake任务:
@shops = Shops.find(:all)
@shops.each do |shop|
# some task here
end
我有100条记录。任务运行1到50,并因某些异常而停止。如何更改我的rake任务以恢复任务,但是从51开始运行?
感谢。
答案 0 :(得分:1)
您可以使用with_index
@shops.each_with_index |shop, i|
# i will increment each time through the loop
end
请注意,索引将从0开始。因此,从第50项开始,您需要从索引49开始。
答案 1 :(得分:1)
根据评论中的要求,我会将此作为答案发布:
@shops.sort_by(&:id).each[50..-1] do |shop|
# whatever you need to do
end
答案 2 :(得分:0)
@shops.each do |shop|
begin
# some task here
rescue
# error
end
end