Урок 3 · ~8 минут

Когда Temporal нужен – а когда это стрельба из пушки по воробьям

Одна идея этого урока: Temporal стоит брать, когда процесс многошаговый, долгий или критичный. Для всего остального он избыточен.

Три признака «да, нужен»

1. Много шагов через разные сервисы

Оплата → CRM → доступ → письмо → чат. Каждая стрелка – место, где что-то может сломаться. Чем больше стрелок, тем ценнее Temporal.

2. Процесс живёт дольше одного запроса

«Подождать 3 дня и напомнить», «ждать, пока админ подтвердит», «вести диалог с клиентом неделю». Обычный код так долго не живёт, workflow – легко.

3. Цена сбоя высока

Деньги, доступы, обещания клиентам. «Оплатил, а курс не открылся» – это возврат и негатив. Здесь «доехать до конца гарантированно» стоит любых накладных расходов.

Когда НЕ нужен

Один быстрый шаг. Показать страницу, сохранить запись, ответить на запрос API – обычный код справится.

Простой регулярный запуск без цепочки. Раз в сутки почистить старые файлы – хватит крона.

Некритичные потери. Если сбой стоит «ну, перезапустим вручную раз в год» – костыль дешевле платформы.

Честно про цену: Temporal – это ещё один сервис, который нужно запустить и поддерживать (плюс база данных для него). Для одного мелкого скрипта это перебор.

Примеры из ваших проектов

ЗадачаВердиктПочему
Цепочка после оплаты курса (доступ, письма, чат)✅ ДаДеньги + много сервисов + цена сбоя высокая
Видеоконвейер: скачать → сжать → залить на CDN → прикрепить к уроку✅ ДаДолгие шаги, большие файлы, сбои сети – идеальный кейс
ИИ-агент с инструментами и подтверждением человека✅ ДаОфициальный кейс Temporal: долгое состояние + human-in-the-loop (docs)
Прогревная рассылка на 2 недели с ветвлениями✅ ДаДолгоживущий процесс с ожиданиями и условиями
Лендинг курса❌ НетНет процесса – нечего оркестрировать
Ежедневный бэкап базы одной командой❌ НетОдин шаг, обычный cron дешевле

Отдельный плюс: откат при сбое (сага)

В критичных цепочках Temporal позволяет описать «компенсации»: если шаг 4 окончательно провалился – автоматически отменить результаты шагов 1–3 (вернуть деньги, закрыть доступ). Это паттерн «сага», и в Temporal он пишется как обычный код с try/catch (пример в docs).

Как это запустить

ВариантЧто этоКогда
Dev-серверОдна команда temporal server start-dev – сервер + Web UI на вашем Mac, без зависимостейУчёба и разработка; рекомендуют начинать с него всегда (docs)
Self-hostedDocker-контейнеры Temporal + PostgreSQL на вашем сервереПродакшн под вашим контролем – реалистичный вариант для ваших серверов
Temporal CloudУправляемое облако от создателей, платноеКогда не хочется администрировать самим; из России может быть неудобно с оплатой

Важно помнить из урока 2: в любом варианте ваш код исполняют ваши workers – на сервер Temporal он не загружается.

Проверьте себя

1. Нужно раз в ночь удалять временные файлы одной командой. Брать Temporal?

2. Прогревная цепочка: письмо → ждать 3 дня → если не открыл, другое письмо → ждать вебинара → предложение. Почему это кейс для Temporal?

3. Шаг «добавить в чат» окончательно провалился, а деньги уже списаны и доступ выдан. Что предлагает паттерн «сага»?

💬 Хотите примерить Temporal к конкретному проекту? Спросите агента: «оцени по критериям урока 3, нужен ли Temporal для [проект]» – или загляните в шпаргалку-чеклист.