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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прервать выполнение метода по таймауту 
:(
    Опции темы
NewDima
Дата 4.9.2009, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



Наверное прозвучит бредово.
Нужно ограничить время выполнения определенного метода класса, сделать как-то так:
Код

class A {
    public function longExecutionTimeFunc() {
        sleep(2);
    }
}
$a = new A();
setTimeExecutionLimit($a, 'longExecutionTimeFunc', 1);
$a->longExecutionTimeFunc(); через секунду прерывается

Так, чтобы если функция работает дольше 1 секунды, то ее автоматически прервать и гнать код дальше.
Такое хоть теоретически возможно?
PM ICQ   Вверх
bars80080
Дата 4.9.2009, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



возможно, в контрольных точках метода размещаешь проверку времени:

Код

function somemethod() {
    $startTime = time();
    // code
    // ...
    $checkpoint = time();
    if($checkpoint - $startTime > 1) { return false; }
    // code
    // ...
    $checkpoint = time();
    if($checkpoint - $startTime > 1) { return false; }
}

PM MAIL WWW   Вверх
NewDima
Дата 5.9.2009, 03:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



Изменять запускаемый метод возможности нет, к сожалению, он предоставляется сторонним классом
PM ICQ   Вверх
Simpliest
Дата 6.9.2009, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Конкретно метод ограничить никак.

Разве что пытаться форкать его вызов в отдельном процессе и ограничивать время работы именно этого процесса.

Плюс почитай похожую тему

http://forum.vingrad.ru/forum/topic-216786...y1552559/0.html

там затрагивалась схожая проблематика.

Добавлено @ 18:35
Вот с этого момента можно читать более детально

http://forum.vingrad.ru/index.php?showtopi...t&p=1552559

Это сообщение отредактировал(а) Simpliest - 6.9.2009, 19:20


--------------------
user posted image
PM   Вверх
NewDima
Дата 6.9.2009, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



За ответ спасибо.
Только не понял, причем тот топик, в котором перекидывают записи на стороне клиента и моя проблема с обрыванием метода =)
PM ICQ   Вверх
Simpliest
Дата 6.9.2009, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(NewDima @  6.9.2009,  18:40 Найти цитируемый пост)
Только не понял, причем тот топик, в котором перекидывают записи на стороне клиента и моя проблема с обрыванием метода

Потому что ошибся.
Вторая ссылка вела на правильный топик


--------------------
user posted image
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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