Асинхронный паттерн для долгих операций
engineering
async-task-pattern — это скилл для Claude Code, который преобразует синхронные операции длительностью свыше 10 секунд в асинхронный паттерн состояний triggerAsync() + getStatus(). Применяется при пакетной обработке от 1000 записей, массовых вызовах удалённых API, полных сканированиях таблиц и кросс-тенантных агрегациях — то есть везде, где синхронный HTTP-запрос неизбежно обрывается gateway-таймаутом (502/504). Скилл описывает пять конкретных ловушек с примерами кода на Java/Spring и React: блокировка потока сетевым gateway, безграничный рост ConcurrentHashMap и утечки памяти (с тремя стратегиями очистки — TTL, @Scheduled, Caffeine LRU), потеря TenantContext в дочернем потоке, гонка при повторном нажатии кнопки, конфликт двойного useEffect-поллинга на фронтенде. Для команд, которые сталкиваются с «зависающим» интерфейсом, повторными кликами и переполнением пула потоков, скилл даёт готовый шаблон state-machine и чек-лист code review.
- #async
- #task-queue
- #state-machine
- #concurrency
- #performance
- #memory-safety