Есть ли общий механизм тайм-аута событий в node.js ?

Я изучаю node.js, и большинство примеров, которые я могу найти, имеют дело с простыми примерами. Меня больше интересует создание реальных сложных систем и оценка того, насколько хорошо событийная модель node.js может обрабатывать все варианты использования реального приложения.

Один из распространенных шаблонов, которые я хочу применить, - это позволить блокировать выполнение. на тайм-аут, если он не происходит в течение определенного времени ожидания. Например, если для выполнения запроса к базе данных требуется более 30 секунд, это может быть слишком много для определенного приложения. Или если чтение файла занимает более 10 секунд.

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

Существует ли общий механизм для обработки тайм-аута и очистки процессов с тайм-аутом? Я знаю, что некоторые типы, такие как сокеты, имеют параметр тайм-аута, но это не общий механизм, который применяется ко всем событиям.

6
задан Tomi 28 September 2010 в 15:11
поделиться