Все привет) и вот мысли. Мне надо иметь актуальную базу товаров(товара сейчас 30тыс.+) Процентов 80 парсил с разных мест. Состояние товара там меняется. Раньше у меня было вот как. Первый человек который зашел на сайт за 24часа ожидал немного(так как сайт коннектилс к тому месту откуда взял товар и дальше выдавал пользователю). Вроде не накладно было) и просто. Сейчас сайт доработал и в общем каталоге товаров вещи у которые кончились не показываютс то есть вешь пропала и не может вернуться. Плюс у сайтов порой бывают сбои и они долго отдают ответ 1 человеку приходится ждать... Решил решить обе проблемы посадить скрипт на крон. Думаю как лучше делать. Создать наверное временную таблицу в нее все загружать. А после ее всю копировать в старую. И так запустить на раз в сутки. Плюс проверять столько страниц в среднем о\html одной страницы 150кб это к примеру 30тыс страниц 4.5 гб качать сервер будет не жирно?
- таблица чо спарсить. поля:чо парсить, статус, дата взятия задания роботом. статус по дефолту пусть ноль. статус задания взятого роботом - 1. дату ставишь. крон раз в 1 минуту запускается. крон берёт не занятые (статус 0) задания штук сто. отмечает в бд, какие взял. Успешные задания либо статус 2 либо удалить. Успешное задание обновляет параметры товара в главной таблице. Ставит дату обновления. Крон смотрит задания со статусом 1 которые были взяты больше часа назад и меняет им статус на 0. Отмечает в логе ошибок. по хорошему, надо писать какой поток взял, и прибивать его. Это уже сам смотри надо ли тебе.
Тут 1 ньюанс просто задумался), что не будет ли это сервер нагружать то что закачкой лишней будет еще заниматься. А я думал проще сделать) консольные по умолчанию лимит времени 0 поэтому просто по 100 товаров брать их перебирать вставлять во временную все завершит тогда обновлять как то рабочую). Это задумался о том, чтобы обновления таблиц не затормаживали работу хотяя зря у меня же иннодб таблицы там блокировка идет на уровне строк и это все наверное настолько быстро что глупые мысли)
Не под временной имел ввиду не таблицу temporary а такую же иннодб. А вообще да все это лишние мысли) сервер не тормоз все должно быть отлично. Проверю ссегодня и усе будет видно))