- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Это смотря какие настройки на сервере, у меня дома можно все, макс объемы памяти и процессор грузит только на 50 %. Если бы у меня был рабочий сервер. Я бы так настроил, что он бы даже не дернулся.
дк протестируйте сами. возьмите этот скрипт, наставьте слипов, включайте и смотрите на нагрузку.
но имхо это тупой вариант. set_time_limit не распространяется на sleep() и обычно вроде нагрузка на CPU исчисляется в час(на моем например) так что вам долго придется в слипах сидеть. Но это тоже не вариант, т.к. скрипт будет оперативную память все это время тупо сжирать.
нормальный сервер не положит, просто аккаунт тебе заблокируют и все :) Я также считаю что нужно делать все через базу а не через "sleep".
так бы сразу и сказали - через задницу
Подобные вещи делаются скриптом легким скриптом + кроном
Пока скрипт находится в sleep-е, время выполнения не тикает.
Т.е. в системе может может быть жёстко установлен лимит 30 секунд, и при этом ваш скрипт может находиться 10 минут в sleep-е и 1 секунду что-то делать.
Процессорное время тоже не должно при этом считаться.
лучше по крону кусками
Нужно взять и попробовать на конкретном хостинге, я только что у себя проверил - время пребывания в sleep() учитывается как время выполнения скрипта, тоесть входит в 30 разрешенных секунд. Но, интересно, что если эти же 30 секунд установить с помощью функции set_time_limit(30), то тогда время в sleep() не учитывается. Еще если с помощью set_time_limit() не удастся установить необходимое время, то это можно обойти запуская из одного скрипта другой.
Но, интересно, что если эти же 30 секунд установить с помощью функции set_time_limit(30), то тогда время в sleep() не учитывается.
Это уже какие-то премудрости вашего хостинга )
Еще если с помощью set_time_limit() не удастся установить необходимое время, то это можно обойти запуская из одного скрипта другой.
Вообще, это работать не должно, ибо по прошествии отведенного времени, убивается родительский процесс и все его потомки.
Но даже если такое где-то сработает, то за это могут напинать ))
time_limit в php - общий с учетом всех задержек на уровне php.
вот RLimitCPU, который тоже устанавливают хостеры (в apache RLimitCPU или командой ulimit) - чистое потребленное процессором время.
Также погуглите что такое форк-бомба - все лимиты обходятся.
ТС, честно, возьмите ВДС и не мучайтесь )
так бы сразу и сказали - через задницу
Подобные вещи делаются скриптом легким скриптом + кроном
Не всегда. У ТС хорошее решение для некоторых случаев. Например, если у него действительно мощный тяжёлый скрипт, который раз в десять секунд из файла подкачивает лог обновлений со статистикой в базу и агрегирует новые данные с предыдущими значениями. То есть он на основе изменений за последние секунды перестраивает табличные кеши со статистическими данными. Вот тогда время закачки и пересчёта данных в разы меньше времени подсоединения к базе. Более того, время прекомпиляции скрипта может в десять-двадцать раз превышать время выполнения самого скрипта. За эти постоянные компиляции и с хостинга могут пнуть.
Кроме того, иногда в памяти скрипта полезно держать некоторые данные, которые значительно ускоряют процесс, а не запрашивать их при каждой итерации. Например, так хорошо держать данные из справочных таблиц. Я уже молчу про то, что в кроне минимальный интервал запуска - минута. Если нужно обновлять статистику значительно чаще, то крон в качестве рестартёра каждого цикла не выход: нужно по крону постоянно перезапускать скрипт плюс гасить его предварительно из самого же скрипта через exit и, для гарантии, через аварийную скриптобойку вроде set_time_limit (59). Механизм опробован, механизм работает в боевой системе, правда не на шареде 🍻
В общем, не вижу никаких проблем в постановке и решении задачи. Вопрос в том, как её решать имеющимися средствами. VDS всё-таки штука тормозная и если это интернет-магазин, то аренда VDS не выход.