У меня есть персональный веб-сайт, который сканирует и собирает MP3 из моих любимых музыкальных блогов для последующего прослушивания ...
Как это работает, задание CRON запускает скрипт .php раз в минуту, который сканирует следующий блог в БД. Результаты помещаются в БД, а затем второй скрипт .php сканирует собранные ссылки.
Скрипты проскальзывают на два уровня вниз по странице, так что .. главная страница www.url.com и ссылки на этой странице www.url.com/post1 www.url.com/post2
Моя проблема в том, что я начинаю получать большую коллекцию блогов. Они сканируются только раз в 20-30 минут, и когда я добавляю новый блог в сценарий, создается резервная копия при сканировании ссылок, поскольку обрабатывается только одна из них каждую минуту.
Из-за того, как работает PHP, кажется, я не могу просто позволить сценариям обрабатывать более одной или ограниченное количество ссылок из-за времени выполнения сценария. Ограничения памяти. Тайм-ауты и т. Д.
Также я не могу запустить несколько экземпляров одного и того же скрипта, поскольку они будут перезаписывать друг друга в БД.
Как лучше всего ускорить этот процесс.
Есть ли способ, которым я могу иметь несколько сценариев, влияющих на БД, но писать их так, чтобы они не перезаписывали друг друга, а ставили в очередь результаты?
Есть ли какой-нибудь способ создать многопоточность в PHP, чтобы скрипт мог обрабатывать ссылки в своем собственном темпе?
Есть идеи?
Спасибо.