У меня есть следующий файл Rake. Использование RoR 2.3.8.
desc "Create shops sitemap"
task(:shops => :environment) do
sitemap = Sitemap.new
#add every item
for i in shop.find(:all, :select => 'id, updated_at', :order => 'updated_at DESC', :limit => 50000)
sitemap.add_url("http://abc.com/shops/#{i.id}",w3c_date(i.updated_at),'daily','1.0')
end
puts "#{sitemap.urls.length} total urls"
#delete the file
FileUtils.rm(File.join(RAILS_ROOT, "public/sitemap_shops_1.xml.gz"), :force => true)
f =File.new(File.join(RAILS_ROOT, "public/sitemap_shops_1.xml"), 'w')
sitemap.write(f,2)
f.close
system("gzip #{File.join(RAILS_ROOT, 'public/sitemap_shops_1.xml')}")
end
Файл выше ищет первые 50 000 записей на основе последних обновлений, а затем сохраняет их в файле с номером 1.
Как изменить код, чтобы он выполнял поиск в следующих 50 000, и сохранял файл с номером 2, затем следующие 50 000, сохранял как файл с номером 3 и т. Д.
Спасибо.