За последние 24 часа нас посетили 17753 программиста и 1922 робота. Сейчас ищут 978 программистов ...

Раздумье

Тема в разделе "Прочие вопросы по PHP", создана пользователем artem-Kuzmin, 10 дек 2012.

  1. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Все привет) и вот мысли.
    Мне надо иметь актуальную базу товаров(товара сейчас 30тыс.+)
    Процентов 80 парсил с разных мест.
    Состояние товара там меняется.
    Раньше у меня было вот как.
    Первый человек который зашел на сайт за 24часа ожидал немного(так как сайт коннектилс к тому месту откуда взял товар и дальше выдавал пользователю). Вроде не накладно было) и просто.
    Сейчас сайт доработал и в общем каталоге товаров вещи у которые кончились не показываютс то есть вешь пропала и не может вернуться.
    Плюс у сайтов порой бывают сбои и они долго отдают ответ 1 человеку приходится ждать...
    Решил решить обе проблемы посадить скрипт на крон.
    Думаю как лучше делать.
    Создать наверное временную таблицу в нее все загружать. А после ее всю копировать в старую.
    И так запустить на раз в сутки.
    Плюс проверять столько страниц в среднем о\html одной страницы 150кб это к примеру 30тыс страниц 4.5 гб качать сервер будет не жирно?
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    - таблица чо спарсить. поля:чо парсить, статус, дата взятия задания роботом.
    статус по дефолту пусть ноль.
    статус задания взятого роботом - 1. дату ставишь.
    крон раз в 1 минуту запускается. крон берёт не занятые (статус 0) задания штук сто. отмечает в бд, какие взял. Успешные задания либо статус 2 либо удалить. Успешное задание обновляет параметры товара в главной таблице. Ставит дату обновления.
    Крон смотрит задания со статусом 1 которые были взяты больше часа назад и меняет им статус на 0. Отмечает в логе ошибок.

    по хорошему, надо писать какой поток взял, и прибивать его. Это уже сам смотри надо ли тебе.
     
  3. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Тут 1 ньюанс просто задумался), что не будет ли это сервер нагружать то что закачкой лишней будет еще заниматься.
    А я думал проще сделать) консольные по умолчанию лимит времени 0
    поэтому просто по 100 товаров брать их перебирать вставлять во временную все завершит тогда обновлять как то рабочую).
    Это задумался о том, чтобы обновления таблиц не затормаживали работу хотяя зря у меня же иннодб таблицы там блокировка идет на уровне строк и это все наверное настолько быстро что глупые мысли)
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Не надо временную. У них заморочки.
     
  5. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Не под временной имел ввиду не таблицу temporary
    а такую же иннодб.
    А вообще да все это лишние мысли) сервер не тормоз все должно быть отлично. Проверю ссегодня и усе будет видно))