- на определение одного файла уходит 0.2 секунды. А на странице где я делаю проверку - минимум 50 файлов, в следствии чего страница грузиться по 10 секунд. Удаленный сервер - selectel cdn storage, php-скрипты на нем выполнять не могу. Собственно вопрос возможно ли распаралелить определение наличия файла ?
Возможно посоветуете другой способ.
Спасибо, за помощь, остановился на варианте, создать таблицу проверка файлов, при отображении файлов сначало смотреть в таблице, если в ней файлы есть, то их не проверять, если файлов нет, то проверяем через curl_multi. При изменении файла удаляем запись из таблицы.
Перед этим каждый раз проверяем доступность хостинга, если хостинг не доступен выводим фото по умолчанию.
Такие задачи нужно делать в фоне по какому-то расписанию или определённым событиям. И обязательно вести логи.
Это сейчас у Вас 50 файлов (а в будущем может 500 будет, кто знает), и у вас все работает как должно работать. А случись что с ДЦ? фаза луны не та? у вас вобще всё повиснет, т.к. на каждый запрос будет уходить выставленный таймаут в курле (30 сек по умолчанию помоему).
Подскажите, а флаг CURLOPT_NOBODY - просто вырезает содержимое тела ответа ? Или ответ идет только с заголовком, т. е. идет ли фактическая передача файла на сервер ?
Спасибо, за помощь, остановился на варианте, создать таблицу проверка файлов, при отображении файлов сначало смотреть в таблице, если в ней файлы есть, то их не проверять, если файлов нет, то проверяем через curl_multi. При изменении файла удаляем запись из таблицы.
Перед этим каждый раз проверяем доступность хостинга, если хостинг не доступен выводим фото по умолчанию.
да. только это все надо делать в фоне )
т.е. пишешь скрипт, обычный, консольный. и запускаешь его кроном раз в 1-5-10 минут, и у тебя всегда будут актуальные данные.