| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Автоматизация скачивания данных |
| Автор: ThePlace 12.4.2008, 12:32 |
| Здравствуйте. Есть следующая задача. Автоматически скачивать данные в формате 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. В цикле я передаю команде ссылки на веб-сервисы и данные сохраняются в заданную директорию. В данном способе вижу несколько проблем. а) Мне необходимо, чтобы на текущий момент происходила только одна закачка. Но у меня почему-то активно сразу несколько. б) Вопрос безопасности. (тоже что и в первом способе) в) Время выполнения скрипта. (тоже что и в первом способе) Вот примерно, изложил суть проблемы. Жду ваших советов. Спасибо) |