Локальная активность Uber Cadence против побочного эффекта

В чем основные различия между Местными действиями и побочным эффектом? На первый взгляд, оба они кажутся похожими, в то время как Local Activity - это суперсет. Когда пользователю следует предпочесть побочный эффект локальной активности.


person Maxim Fateev    schedule 25.04.2019    source источник


Ответы (1)


SideEffect не поддерживает обработку ошибок. Если это не удается, он по существу блокирует выполнение рабочего процесса (запугивая задачу принятия решения). Он также выполняется в той же горутине, что и код рабочего процесса.

LocalActivity выполняется в отдельной горутине и поддерживает обработку ошибок, включая автоматические повторные попытки через RetryOptions.

Поэтому используйте SideEffect только для очень непродолжительных операций, которые, как ожидается, не завершатся ошибкой. Или, если они потерпят неудачу, можно заблокировать выполнение рабочего процесса. Генерация UUID - хороший пример такой операции.

person Maxim Fateev    schedule 25.04.2019