вот свежий пример получше. есть у меня некий допотопный сервис, в котором авторизация на сессиях поверх кук. у сессии задан некий idle time, после которого она протухает - именно idle, считается от последнего запроса. сессии, внезапно, дорогие и их хочется реиспользовать.
я хочу сделать к этому сервису прокси, который будет заменять эти сессии jwt-токенами и делать примерно ничего больше.
как я делаю это в эрланге - беру generic регистратор с find-or-start, под него запихиваю воркеры, которые при инициализации получают вот эту сессионную куку и хранят её в себе. каждый внешний запрос с токеном приходит в регистратор, находит процесс сессии, идет в него и с кукой из него отправляется на какой-то там другой воркер, где уже будет сделан запрос к старому сервису. в процессе сессии по итогам пришедшего запроса реинициализируется таймер, по истечению которого процесс просто сдохнет и всё, на следующий запрос с соответственным токеном кука будте получена еще раз.
получается, инициализация ресурса - атомарная и происходит один раз, доступ к ресурсу сериализован, код, реализующий лайфтайм ресурса, локализован и очень простой.
вопрос - как это же идиоматично писать на кложе.
то есть держать целый «процесс» ради хранения посчитанного значения — звучит как перебор