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

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

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

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

13 ответов

19 просмотров

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

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. Там нет и...

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

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта