Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Автоматизация скачивания данных 
:(
    Опции темы
ThePlace
Дата 12.4.2008, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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.
В цикле я передаю команде ссылки на веб-сервисы и данные сохраняются в заданную директорию.
В данном способе вижу несколько проблем.
а) Мне необходимо, чтобы на текущий момент происходила только одна закачка. Но у меня почему-то активно сразу несколько.
б) Вопрос безопасности. (тоже что и в первом способе)
в) Время выполнения скрипта. (тоже что и в первом способе)

Вот примерно, изложил суть проблемы. Жду ваших советов. Спасибо)

PM MAIL WWW   Вверх
Fortop
Дата 12.4.2008, 12:50 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(ThePlace @  12.4.2008,  12:32 Найти цитируемый пост)
возможно ли, используя функцию  file_get_contents() докачивать данные? 

да, посмотри параметры offset, maxlen у данной функции
http://ua.php.net/manual/ru/function.file-get-contents.php

Цитата(ThePlace @  12.4.2008,  12:32 Найти цитируемый пост)
На текущий момент  мой скрипт можно запустить через броузер. Я же хочу, чтобы он запускался только cron-ом. Как это делается?

Настроить крон и положить скрипт в каталог недоступный из интернета (например, положив рядом в каталоге файл .htaccess с соответствующими настройками)

Цитата(ThePlace @  12.4.2008,  12:32 Найти цитируемый пост)
Что можно предпринять для оптимизации его работы и исключения большой нагрузки на сервер?

а) качать небольшими порциями
б) пересмотреть структуру твоего приложения и отказаться от многомегабайтных закачек каждые 5ть минут.




--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.