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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Времени лимит 
:(
    Опции темы
YahоО
Дата 20.3.2024, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 198
Регистрация: 11.6.2015

Репутация: нет
Всего: 1



Как выполнить задачу на сервере для которой требуется времени больше чем установлено лимитами по умолчанию?

(без  cron, и без  php.ini: max_execution_time = 30)
Должно быть все просто - в браузере набираем в адресной строке адрес своей страницы и ждем полного выполнения php алгоритма, о чем в браузере должна появиться соответствующая надпись.
(возможно потребуется несколько минут)





PM MAIL   Вверх
Oldshelf (Online)
Дата 20.3.2024, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 22.4.2018

Репутация: 1
Всего: 4



Решал похожую задачу с помощью переменной индекса прогресса. Если есть возможность разделить задачу на подзадачи, каждой из которых хватает лимита, то можно выполнять такие подзадачи последовательно обновляя скриптом страницу. Что-то типа этого:

Код

 $step=intval ($_GET ["step"]);

 //...

  $step++;

  print <<<xhtml
<script type="text/javascript">
//<![CDATA[
function refresh ()
{
 document.location.href="task.php?step=$step";
}
t=setTimeout("refresh()",100);
//]]>
</script>
xhtml;


Просто увеличивать счётчик $step на каждой итерации и передавать в переменной ?step=$step в этот же скрипт.
PM MAIL WWW   Вверх
YahоО
Дата 20.3.2024, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 198
Регистрация: 11.6.2015

Репутация: нет
Всего: 1



Да, примерно так делал до того как написал свой вопрос:
Код

echo '<script>location.reload()</script>';

а подсчет шагов уже на стороне сервера.
Коротко и эффективно. А а хостеру похоже не очень понравилась моя идея, сначала все шло хорошо, но потом он меня попросту вырубил )) и я таки свой вопрос здесь и написал, в надежде что все же имеются еще варианты.
Oldshelf, благодарю за скрипт!
PM MAIL   Вверх
Oldshelf (Online)
Дата 21.3.2024, 05:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 22.4.2018

Репутация: 1
Всего: 4



Да, особенность скрипта именно в подборе тайм-аута. У меня скрипт был ресурсоёмкий и чтобы не нагружать сервер на полную ставил паузы в несколько секунд, давая возможность выполниться обычным запросам, которые могли затормозиться из-за повышенной нагрузки.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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