вспомнил: сайд-эффект для атома можно же вынести в вотчер. Он сработает один раз, даже если было сто перезапусков функции. cc
@strofimov1972ну, в моём случае атом создавался в контексте запроса, то есть из было много, и в атоме было не одно такое поле.
решение с synchronized оказалось проще, чем городить огород.
я ещё сделал, чтобы блокировка использовалась только при необходимости изменения, так что на основной операции чтения это никак не сказалось.
впрочем, я этот код переписал с future на delay, и у меня не стало такой проблемы 😊