Привет! У меня тут хитрый вопрос по GenServer, а пример решения такой задачки в интернете я что-то не нашел. Эликсир только изучаю.
Итак, есть несколько серверов, которые по http лонгполлиггом отдают ивенты. Количество серверов и их адреса на этапе компиляции неизвестны. Нужно эти ивенты с них собирать, процессить и слать уведомления в разные места(телеграм/почта/что угодно). Подключения к этим серверам стейтфул, нужно хранить id последнего ивента, чтобы запросить следующие. Процессинг ивентов тоже стейтфул, параллелить его нельзя. На лицо типичная задача pubsub, где сервера - паблишеры, а обработчик ивентов - сабскрайбер. Типичный инструмент для pubsub в эликсире - GenStage, но все примеры его использования, что я нашел, полагаются на тот факт, что все паблишеры известны на этапе компиляции, у них есть имена и сабскрайберы по этим именам и подписываются.
Вопросы: GenStage это вообще правильный инструмент для этой задачи? Если да - как правильно организовать такой пайплайн, и при этом положить и паблишеров и сабскрайбер под супервайзер(падают же иногда!)? Если нет - то какую тулзу или паттерн лучше использовать?
Можно конечно, давать паблишерам имена в рантайме(uuid?), и передать потом список имён в сабскрайбер для подписки, но я не знаю, насколько это идеоматично.