Автор Тема: Net::IRC задержка реакции на событие  (Прочитано 3072 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн gor

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 11
  • +0/-0
  • 0
    • Просмотр профиля
    • http://509.ru
Net::IRC задержка реакции на событие
« : 20 Января 2005, 00:57:30 »
Пишу бота, используя Net::IRC.
Вот потребовалось сделать реакцию на событие не мгновенную, а с произвольной задержкой.
Не подскажете как реализовать?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Net::IRC задержка реакции на событие
« Ответ #1 : 20 Января 2005, 12:36:56 »
perldoc -f sleep ?
The documentations is your friend

Оффлайн gor

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 11
  • +0/-0
  • 0
    • Просмотр профиля
    • http://509.ru
Net::IRC задержка реакции на событие
« Ответ #2 : 20 Января 2005, 19:01:28 »
Но ведь при sleep останавливается весь процесс?
А мне нужно, чтобы во время этой задержки бот реагировал на другие события...
То есть, в конечном итоге, мне нужно что-то вроде: если произошло то-то, выполнить это через ПОЛЧАСА, а пока продолжать работать дальше.

Можно по-другому. Каждую секунду проверять текущее время на соответствие нужному. Но как делать что-то КАЖДУЮ секунду, если там можно только описать реакцию на события?

Что же делать?..

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Net::IRC задержка реакции на событие
« Ответ #3 : 21 Января 2005, 12:43:13 »
Цитировать
gor:
Что же делать?..

Варианте №1
$time = time;
while (time > $time+1800){ main_part() }
do_something_else();
The documentations is your friend

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
Net::IRC задержка реакции на событие
« Ответ #4 : 21 Января 2005, 17:54:01 »
Цитировать
NeoNox:
while (time > $time+1800){ main_part() }

правда при этом есть опасность, что будет повешено довольно много таких отложенных событий одновременно..
 в исканиях.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Net::IRC задержка реакции на событие
« Ответ #5 : 21 Января 2005, 19:13:58 »
А зачем тогда прокладка между клавиатурой и стулом?
В крайнем случае есть функция last.
The documentations is your friend

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28