![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
letsgo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 17.2.2009 Репутация: нет Всего: нет |
Добрый день.
На хостинге стандартное ограничение в 30 секунд. Воспользовался set_time_limit() Однако, возник вопрос, иногда время выполнения скрипта занимает порядка 20 секунд, а иногда и 100 секунд не хватает. Т.е. не подгадать. Если ставить фиксированное значение, то оно может оказаться недостаточным для выполнения скрипта. Есть ли какая-то функция, позволяющая например, останавливать выполнение скрипта и скажем грубо, "начинать вновь с места остановки через n секунд". Ну, или как-то с set_time_limit() придумать что-то можно? Или еще, как решение проблемы, вижу, что-то вроде многопоточности... Но с этим ни разу не сталкивался и как организовать не знаю, но как говорится, если надо, так надо ![]() Поэтому вопрос, что лучше в такой ситуации? |
|||
|
||||
NNaarreekk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 768 Регистрация: 23.6.2007 Где: Армения Репутация: 0 Всего: 3 |
set_time_limit(0) делает время бесконечным (если конечно сервер не на сейф моде).
Но конечно в таком случае если случаем бесконечный цикл получится то пипец! |
|||
|
||||
letsgo |
|
||||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 17.2.2009 Репутация: нет Всего: нет |
NNaarreekk, ясно. спасибо.
А вот про это ничего не можете сказать?
|
||||
|
|||||
NNaarreekk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 768 Регистрация: 23.6.2007 Где: Армения Репутация: 0 Всего: 3 |
Ну можешь после каждого шага(или если в функции цикл,то после каждого круга) проверять время вы полнения и если больше чем надо то return false;
А потом как нибудь опять вызываешь, примерно так:
Пример может извращенеский, написал то что пришло в голову! ![]() Это сообщение отредактировал(а) NNaarreekk - 14.3.2009, 12:39 |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
||||
|
||||
NNaarreekk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 768 Регистрация: 23.6.2007 Где: Армения Репутация: 0 Всего: 3 |
skyboy, я не понял, откуда нагрузка возьмется??
Ну понимаю что нагрузка увеличится, но если нужно повторно вызвать, то как бы не вызывай все равно нагрузка увеличится! |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
конструкция
не даст выполнится коду раньше некоторого времени. но сама проверка(вычисление разницы между текущим временем и начальным) отнюдь не "бесплатна". и происходить эта проверка будет не "раз в секунду", а постоянно. вот напиши на любом языке программирования программу типа:
и посмотри на загрузку процессора |
|||
|
||||
NNaarreekk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 768 Регистрация: 23.6.2007 Где: Армения Репутация: 0 Всего: 3 |
ОК понятно!
А как писать то? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |