Ответ 1
Попробуйте set_time_limit(). Вызов set_time_limit(0)
приведет к удалению любых временных ограничений для выполнения script.
Я делаю большой запрос на серверы яркости, чтобы сделать пакетное изменение метаданных в моих видео. Похоже, что он прошел через 1000 итераций, а затем остановился - может ли кто-нибудь помочь в настройке этого кода, чтобы предотвратить тайм-аут? Он должен сделать около 7000/8000 итераций.
<?php
include 'echove.php';
$e = new Echove(
'xxxxx',
'xxxxx'
);
// Read Video IDs
# Define our parameters
$params = array(
'fields' => 'id,referenceId'
);
# Make our API call
$videos = $e->findAll('video', $params);
//print_r($videos);
foreach ($videos as $video) {
//print_r($video);
$ref_id = $video->referenceId;
$vid_id = $video->id;
switch ($ref_id) {
case "":
$metaData = array(
'id' => $vid_id,
'referenceId' => $vid_id
);
# Update a video with the new meta data
$e->update('video', $metaData);
echo "$vid_id updated sucessfully!<br />";
break;
default:
echo "$ref_id was not updated. <br />";
break;
}
}
?>
Спасибо!
Попробуйте set_time_limit(). Вызов set_time_limit(0)
приведет к удалению любых временных ограничений для выполнения script.
Попробуйте отправить "Status: 102 Processing" время от времени, чтобы предотвратить тайм-аут браузера (ваш лучший выбор составляет от 15 до 30 секунд между ними). После обработки запроса вы можете отправить окончательный ответ.
Браузеру больше не нужно выделять этот путь.
Также используйте ignore_user_abort(), чтобы обойти отмену браузера. script будет работать даже при закрытии браузера (используйте его с осторожностью).