Задания лимита времени на подгрузку файла?

Статус
В этой теме нельзя размещать новые ответы.
PHP:
<?php 

$ctx = stream_context_create(array( 
    'http' => array( 
        'timeout' => 1 
        ) 
    ) 
); 
file_get_contents("http://example.com/", 0, $ctx); 
?>

Вообще у контекста много настроек.
 
PHP:
<?php 
$ctx = stream_context_create(array( 
    'http' => array( 
        'timeout' => 1 
        ) 
    ) 
); 
file_get_contents("http://example.com/", 0, $ctx); 
?>
Вообще у контекста много настроек.
в постскриптуме написал что разницы по времени с этим способом и без - не вижу.
 
а через крон нельзя этот скрипт запускать?
 
а через крон нельзя этот скрипт запускать?
нет, срдеа его использования не позволяет (дорвеи) не кешировать, не крон использовать.. реализация джабаскриптом также не к месту.
 
Как вариант - использовать curl:
PHP:
$ch = curl_init('http://site1.com/1.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$data = curl_exec($ch);
curl_close($ch);
 
Ну решение "в лоб" - это кешировать ответ сервера у себя. И ломиться за новым не чаще, чем скажем раз в 10 минут.

Это само по себе уже значительно сократит временные издержки.

Следующий шаг - запоминать в файле-кеше (или рядом с ним) помимо времени создания еще и сервер, с которого этот файл был скачан. И потом, когда TTL кеша экспайрнется, ломиться в первую очередь на тот же сервер, а уж потом перебирать остальные.

От описанной тобой проблемы это полностью избавит, плюс работать будет лучше и быстрее за счет кеширования.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху