Что такое Graceful shutdown

Ответ

Graceful shutdown — это корректное завершение работы приложения, при котором оно успевает выполнить все необходимые действия перед остановкой (закрыть соединения, сохранить данные, завершить процессы). В контексте фронтенда это особенно важно для:

  1. WebSocket — закрытие соединения
  2. API-запросы — отмена pending-запросов
  3. Таймеры — очистка интервалов/таймаутов
  4. События — отписка от слушателей

Пример с React:

useEffect(() => {
  const controller = new AbortController();

  fetch('/api', { signal: controller.signal })
    .then(handleData)
    .catch(e => {
      if (e.name !== 'AbortError') console.error(e);
    });

  return () => {
    controller.abort(); // Отмена запроса при размонтировании
    clearInterval(timerId);
    window.removeEventListener('resize', handler);
  };
}, []);