разделить задачу на 3 файла.
- файл для получения списка страниц и в качестве основного сценария (для помещения в crontab) (main.php)
- для анализа текущей страницы. (Parse.php)
- некоторый сценарий оболочки для обработки вашего второго сценария.
Затем в вашем первом файле сделайте что-то вроде этого:
<?php
$pagelist = get_page_list();//this will retrieve page list using CURL and save each page to some, let's say pagelist.txt and return this absolute path.
exec("/path/to/php /your/3rdscript.sh < $pagelist");
?>
А вот ваш третий файл:
#!/bin/bash
while read line
do
/path/to/php /path/to/your/2ndscript.php -f $line &
done
Обратите внимание, что в третьем скрипте (скрипте оболочки) я использую & (амперсанд). Это скажет оболочке поместить этот конкретный процесс в фоновый процесс.
В вашем втором сценарии вы можете использовать что-то вроде этого:
<?php
$pageurl = $argv[2];
//do your curl process to fetch page $pageurl here
Используя шаг выше, вы можете ускорить загрузку нескольких страниц одновременно.