Загружать файл с внешнего ресурса
которая будет скачивать файл, если его нет,
а если есть, то будет проверять на сколько он устарел, скачивать если устарел
и отдавать закешированный, если нет.
но этот вариант тормозной
зы
непонятно ограничение про cron.
просто вызов скрипта в баше - тоже не катит?
Но дело в том, что файл очень часто меняется, и поэтому его надо постоянно обновлять.
Cron можно запускать не чаще раза в час — ограничение хостера (masterhost).
Про скрипт в баше не знаю, есть доступ по ssh, но вряд ли там можно что-то запускать свое.
wget "<file>" -o file
sleep 3m
такое можно запускать?
засада...
может аджакс?
ну тойсть клиент в коде страницы будет иногда получать body onload="ajax_send_refresh_file"
на крон можно повесить скрипт, который будет повторять то, что ему хочется каждые две секунды в течении часа
#!/bin/bashА что тут происходит, wget на три минуты ставится на паузу?
wget "<file>" -o file
sleep 3m
такое можно запускать?
Мне кажется, сервер будет срубать процесс секунд через 30 после запуска.
может аджакс?Я ни в аджаксе, ни в яваскрипте ничего не понимаю
ну тойсть клиент в коде страницы будет иногда получать body onload="ajax_send_refresh_file"
на крон можно повесить скрипт, который будет повторять то, что ему хочется каждые две секунды в течении часаНа работу php-скриптов тоже ограничение, 30 секунд вроде.
А что тут происходит, wget на три минуты ставится на паузу?
Мне кажется, сервер будет срубать процесс секунд через 30 после запуска.
На работу php-скриптов тоже ограничение, 30 секунд вроде.
Ограничение стопудов ставится на исполнение php-скриптов на веб-сервере.
Есть ли у твоего провайдера ограничение на исполнение shell-скриптов (именно его написал bachan, и я тоже имел ввиду вызов shell-скрипты из cron-a, да и вообще не особо представляю, зачем из cron-a вызывать php без shella я не вкурсе - уточняй у него.
В принципе и с php можно извратиться так, чтобы каждый скрипт исполнялся 30 секунд, а потом бы вызывал себя же.
нафиг вообще ssh, если на запуск шелл-скриптов такая жесть вводится?
может возьмешь VPS себе?
я вот у FirstVDS за 300 р. в месяц имею собственную FreeBSD всеми возможными способами и радуюсь жизни.
Я ни в аджаксе, ни в яваскрипте ничего не понимаютогда менее удобное для клиентов решение - иногда вместо аджакс запроса добавлять в страницу
<img src="/get_file.php" width="1px" height="1px"/>
единственное, что им долго будет показываться, что страница еще не загружена.
Но дело в том, что файл очень часто меняется, и поэтому его надо постоянно обновлять.Ботай как работают кеширующие прокси всякие (проверка тегов Last-Modified/ETag, таймауты и тд)
Фактически тебе это и надо сделать
Если на "медленном" хосте файл изменился (типа ETag новый, или Last-Modifed + Range выдал что-то) то тупить и качать его. Если нет - быстро отдавать локальный.
Тут можно всякие таймауты вставлять, например если хостенк не ответил в течении 1-3-5-10-... секунд - давать локальный. Или еще как изголяться (например, в фоне качать новый файл, а по запросу всегда старый давать)
ЗЫ Сорри за сумбур, по-другому не обучен
Надо было сразу написать в поддержку, вот что мне ответили:
Технически через cron скрипты можно запускать с периодичностью раз в минуту.Скачивание файла на 2 КБ вряд ли создаст гигантскую нагрузку, так что можно быть спокойным =)
Но в случае, если скрипт будет вызывать повышенную нагрузку на сервер
виртуального хостинга, мы будем вынуждены удалить задания cron и выслать Вам
соответствующее уведомление.
хотя там с таким подходом одних HTTP-хедеров наверное больше наберется, ггг. %
Оставить комментарий
SergZ
PHP-скрипт при запуске скачивает файл с другого сайта и обрабатывает его.Но тот другой сайт медленный и вообще может упасть.
Как получать нужный файл и кэшировать его в папке со скриптом?
Нужно это делать примерно раз в 1-2 минуты, cron использовать нельзя.
Может, есть какие-то способы %)