использовать бд.
можно пачками получать набор ид которые еще не обработаны.
опробовано на практике.(~15 миллионов ид/страниц)
можно на асинхронных функциях в цикле.
текущий N и запуск новых M. и при интеграции N = N + M.
Чтобы этого избежать можно тупо взять и загнать в файл с 1 до последнего нужного нам id. Далее создать ресурс из файла.
если не критично, можно исключить работу с файлом. А сразу создать ресурс и загнать туда набор ид.
