169 похожих чатов

Пытаюсь понять gen_stage. Может кто-нибудь ткнуть на какую-нибудь статью или подсказать

как лучше организовать:
есть список каких-то абстрактных объектов. Продюсер и консюмер я запускаю при старте приложения.
Хочу этот список объектов толкнуть в продюсер вручную, чтобы он делал какую-то работу по каждому объекту и дальше отдавал в консьюмер результат.

Как это лучше сделать? )

13 ответов

8 просмотров

емнип ген стейдж немного про другое — это не "толкнул и оно обработало", а "запустил, оно всё вычитало и обработало"

Maxim- Автор вопроса
Fried Zucchini
емнип ген стейдж немного про другое — это не "толк...

отработало и приложение завершило работу? И если надо еще обработать данные, опять запускать его?

Не считая дополнительной бизнес-логики, вот пример такого продьюсера в нашей кодовой базе. Буквально позволяет класть объекты в себя, делает доп работу, и отправляет по мере запросов в консумер. Разница только в том что хранит в ETS и не удаляет сразу после отправки, а ждёт "acknowledgement" от консумера https://github.com/electric-sql/electric/blob/main/components/electric/lib/electric/replication/satellite_collector_producer.ex

посмотри, кстати, на Broadway. более высокоуровневая штука поверх gen_stage с кучей плюшек. свой producer написать туда несложно. много статей в гугле есть на эту тему. вот какая-то относительная свежая статья, только что нашёл в гугле, подробно не читал, но после поверхностного взгляда явной лажи схожу не увидел (это не значит, что её там нет): https://softwaremill.com/constructing-effective-data-processing-workflows-using-elixir-and-broadway/

heathen
посмотри, кстати, на Broadway. более высокоуровнев...

сколько раз пытался применить -у меня все просто в пул воркеров вырождалось, может я неправильно мыслил?

Źmićer Rubinštejn
А почему это плохо?

хотелось хоть гдето применить

john conor 
сколько раз пытался применить -у меня все просто в...

может, задачи не те были для broadway? если можно, раскройте чуть подробнее задачу и почему в пул воркеров всё превращается?

heathen
посмотри, кстати, на Broadway. более высокоуровнев...

Никому не советую использовать Broadway. Там нет и половины заявленного функционала. Из Broadway можно использовать только адаптеры к очередям, и всё

Lama Lover
Никому не советую использовать Broadway. Там нет и...

А чего именно нету и почему никто на спаунфесте еще не допилил?

Źmićer Rubinštejn
А чего именно нету и почему никто на спаунфесте ещ...

Потому что не нужно. Нет параллельных процессоров, и нет многоэтапности. То есть Бродвей может просто батчить сообщения из продюсеров, и процессить их в одном степе и всё

Lama Lover
Никому не советую использовать Broadway. Там нет и...

Прекрасно использую Бродвей без родных адаптеров, потому что источник данных другой. ЧЯДНТ? 🤷🏼‍♂️

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
11
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
Карта сайта