Новый рекорд
На очередном заказе я поставил новый личный рекорд по количеству собранных данных (отдельно собранные ссылки, картинки и прочее в счет не берем):
230 000 записей!
База собиралась изначально в 2 потока, а потом в 5 в течении 3х дней. В процессе работы над этим заказом я понял:
- Что мне нужно купить новый компьютер
(что я уже удачно и сделал); - Что для каждого проекта нужно писать контроллер процесса выполнения, чтобы случайная остановка сайта-источника на пару часов не останавливала процесс сбора информации и не привела к искривлению данных в базе;
- Что в php memory_limit нужно ставить в значение 64М и постоянно вести мониторинг ресурсов, а то кто бы что не говорил, но php “течет” и это факт, доказанный практикой;
- Что нужно проводить оптимизацию регулярных выражений (этому я думаю посвятить отдельную статью).
Думаю, что некоторые из этих мыслей могут быть полезны другим про в области сбора информации.
Особенно важным моментом является контроль процесса выполнения. В каждом конкретном случае его можно реализовать по разному и я вот сейчас работаю над созданием универсального класса. Как только будут первые наработки - я сразу же отпишу про это в очередной заметке.

Алексей:
Вопрос. А как контролировать работу с памятью? У меня например стоит не 64 а вообще 128M. И все равно локальный сервер ругается Allowed memory size of 134217728 bytes exhausted (tried to allocate 840 bytes
Как ее очищать?
21 Январь 2010, 5:51 ппadmin:
Вот он и ругается, что ему не хватает 128 МБ.
Очищать очень прость - unset переменных. Думаю в справочнике быстро найдете.
7 Март 2010, 4:44 пп