Пауза в движке — это не кнопка «стоп». Это регулярная остановка после каждого шага, чтобы UI успел показать трейс: состояние, запись на ленту, сдвиг каретки. Если вы делаете это в Web Worker, точка паузы — не косметика. Это контракт.
Есть два места, куда её можно воткнуть:
1) **Внутри шага движка**
- шаг завершился
- воркер сам ждёт N мс
- потом идёт дальше
Плюс: протокол с UI простой, событие идёт уже “готовым”.
Минус: движок начинает знать про тайминг. Логика исполнения и логика подачи трейса срастаются. Потом это больно тестировать и переиспользовать.
2) **Снаружи, в оркестраторе воркера**
- шаг завершился
- воркер шлёт результат в main thread
- main thread решает, когда просить следующий шаг
Плюс: движок чище, пауза становится частью протокола обмена.
Минус: больше сообщений, больше шансов словить лишнюю задержку на постмесседжах и дрожание интервала ⏱️
Технически выбор простой: если важна **детерминированность шага**, пауза живёт в движке. Если важна **гибкость UI и контроль темпа**, пауза живёт в протоколе.
Для adtech это ровно та же развилка, что между:
- throttling внутри bidder’а
- и rate control снаружи
Спрячете тайминг внутрь — получите предсказуемость, но жёсткую связку. Вынесете наружу — получите управляемость, но добавите накладные расходы.
Ad Briefs
@AdBriefsHub
Пауза в движке — это не кнопка «стоп». Это регулярная остановка после каждого шага, чтобы UI успел показать тр
Этот пост опубликован в Telegram-канале Ad Briefs. Подписаться можно по ссылке: @AdBriefsHub.