Короткие определения всех терминов курса. Каждый термин – с бытовой аналогией.
Режим, при котором процесс доходит до конца несмотря на сбои, падения и перезагрузки: прогресс сохраняется после каждого шага. Аналогия: сохранения в игре. docs
Код с логикой процесса: какие шаги, в каком порядке, что делать при ошибках. Не трогает внешний мир напрямую и должен быть детерминированным. Аналогия: сценарий пьесы.
Один конкретный шаг, который взаимодействует с внешним миром: вызов API, письмо, запись в базу. Автоматически повторяется при сбое. Аналогия: отдельная сцена пьесы.
Ваша программа на вашем сервере, которая берёт задачи из очереди и выполняет код workflow и activities. Код никогда не загружается на Temporal Server. Аналогия: актёры. docs
Сервис, который раздаёт задачи воркерам, ведёт Event History, следит за таймаутами, повторами и таймерами. Ваш код не исполняет. Аналогия: режиссёр с журналом.
Канал между сервером и воркерами: сервер кладёт туда задачи, воркеры их забирают. Аналогия: стопка заданий на столе.
Полная запись всего, что произошло с процессом: старт, каждый шаг, результаты, ошибки. По нему процесс восстанавливается после сбоя. Аналогия: бухгалтерская книга, чекпоинты.
Механизм восстановления: после сбоя Temporal заново «проигрывает» сценарий workflow, подставляя результаты уже выполненных шагов из журнала. Поэтому выполненные шаги не повторяются.
Требование к коду workflow: при каждом проигрывании давать одинаковый результат. Поэтому в workflow нельзя брать текущее время, случайные числа и звать API напрямую – всё это уходит в activities.
Правила автоматических повторов activity при сбое: сколько раз, с какими паузами. Встроено, настраивается без своего кода повторов.
Паттерн для критичных цепочек: если шаг окончательно провалился, автоматически откатить уже выполненные шаги (вернуть деньги, закрыть доступ). docs
Способы общаться с живым процессом: Signal передаёт данные внутрь («клиент подтвердил»), Query читает состояние («на каком ты шаге?»). Основа сценариев с участием человека.
Встроенная замена крона: запуск workflow по расписанию с паузами, бэкфиллом и контролем через UI. docs