В Rails я выполнял грабли:
@shops = Shops.find(:all) @shops.each do |shop| # some task here end
У меня 100 записей.Задача выполнялась с 1 по 50 и остановилась из-за какого-то исключения.Как я могу изменить свою задачу rake, чтобы возобновить задачу, но начать работать с 51 года?
Спасибо.
В соответствии с просьбой в комментарии я опубликую это как ответ:
@shops.sort_by(&:id).each[50..-1] do |shop| # whatever you need to do end
Вы можете использовать with_index
with_index
@shops.each_with_index |shop, i| # i will increment each time through the loop end
Имейте в виду, что индекс будет начинаться с 0. Поэтому, чтобы начать с 50-го элемента, вы захотите начать с индекса 49.
@shops.each do |shop| begin # some task here rescue # error end end