![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| ThePlace |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 12.4.2008 Репутация: нет Всего: нет |
Здравствуйте.
Есть следующая задача. Автоматически скачивать данные в формате xml, получаемые от нескольких веб-сервисов через определенные интервалы времени (например, через каждые 2 часа) Размер одного xml от 1 до 10 Мб. Я знаю 2 два способа скачивания: 1) Использование функции file_get_contents(). В цикле передаю этой функции ссылки на веб-сервисы и сохраняю скачанные данные в заданную директорию. В данном способе вижу несколько проблем. а) Нестабильное функционирование веб-сервисов. Т.е. возможен обрыв закачки и в результате, недокаченные данные. Сразу возникает вопрос, возможно ли, используя функцию file_get_contents() докачивать данные? б) Вопрос безопасности. На текущий момент мой скрипт можно запустить через броузер. Я же хочу, чтобы он запускался только cron-ом. Как это делается? в) Время выполнения скрипта. Используя функцию set_time_limit можно определить максимальное время выполнения скрипта. Например, set_time_limit(0) – это безлимитное время выполнения скрипта. Допустим, скрипт выполняется достаточно продолжительное время (несколько часов). Что можно предпринять для оптимизации его работы и исключения большой нагрузки на сервер? 2) Использование команды wget. Вызов команды wget происходит через фунцию system. В цикле я передаю команде ссылки на веб-сервисы и данные сохраняются в заданную директорию. В данном способе вижу несколько проблем. а) Мне необходимо, чтобы на текущий момент происходила только одна закачка. Но у меня почему-то активно сразу несколько. б) Вопрос безопасности. (тоже что и в первом способе) в) Время выполнения скрипта. (тоже что и в первом способе) Вот примерно, изложил суть проблемы. Жду ваших советов. Спасибо) |
|||
|
||||
| Fortop |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
да, посмотри параметры offset, maxlen у данной функции http://ua.php.net/manual/ru/function.file-get-contents.php
Настроить крон и положить скрипт в каталог недоступный из интернета (например, положив рядом в каталоге файл .htaccess с соответствующими настройками)
а) качать небольшими порциями б) пересмотреть структуру твоего приложения и отказаться от многомегабайтных закачек каждые 5ть минут. -------------------- Мир это Я. Живее всех живых. |
||||||
|
|||||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |