Size: a a a

Scala User Group

2020 December 23

R

RAFIZ in Scala User Group
Simon
И я не уверен, что код выше корректен относительно Graph DSL - не стоит принимать так внешние синки
это сэмпл из доки акки
источник

S

Simon in Scala User Group
RAFIZ
в этом наверное и есть смысл использования броадкастинга.

потому что я хотел спросить почему бы просто не описать два линейных графа под такую задачу. если все равно хотим две асинхронные обработки организовать
потому что 2 независимых стрима требуют 2 независимых источников данных. Если источник данных можно прочитать только 1 раз и нельзя куда-то временно записать, то только так
источник

R

RAFIZ in Scala User Group
Simon
потому что 2 независимых стрима требуют 2 независимых источников данных. Если источник данных можно прочитать только 1 раз и нельзя куда-то временно записать, то только так
ну так обычный сорс вроде как раз реюзабл (а про необычные я пока и не знаю в своём изучении стримов)
источник

S

Simon in Scala User Group
И все равно он мне не нравится. Я очень много натыкался на проблемы с подобным подходом. Так что я бы использовал GraphDSL.create(writeAuthors, writeHashtags) вместо варианта без параметров. А на самом деле в данном случае обошелся бы без Graph DSL - используя Sink.combine
источник

S

Simon in Scala User Group
RAFIZ
ну так обычный сорс вроде как раз реюзабл (а про необычные я пока и не знаю в своём изучении стримов)
Пример не реюзабла: HttpRequest.
источник

R

RAFIZ in Scala User Group
Simon
И все равно он мне не нравится. Я очень много натыкался на проблемы с подобным подходом. Так что я бы использовал GraphDSL.create(writeAuthors, writeHashtags) вместо варианта без параметров. А на самом деле в данном случае обошелся бы без Graph DSL - используя Sink.combine
вот да, про Sink.combine интересно
источник

S

Simon in Scala User Group
Еще не реюзабл: любой SourceRef
источник

R

RAFIZ in Scala User Group
Simon
Пример не реюзабла: HttpRequest.
точно
спасибо.
источник

S

Simon in Scala User Group
Стрим, получаемый из любой БД как бы реюзабл, но зачем делать 2 запроса вместо одного? Это не всегда оправданно
источник

R

RAFIZ in Scala User Group
в этой ситуации не стоит/нельзя вывернуться созданием Source обычного на основе как раз такого HttpRequest?

или тут и нужно использовать те подходы о которых и речь как раз?броадкастинг, combine
источник

R

RAFIZ in Scala User Group
Simon
Стрим, получаемый из любой БД как бы реюзабл, но зачем делать 2 запроса вместо одного? Это не всегда оправданно
👍🏾
источник

Oℕ

Oleg ℕizhnik in Scala User Group
RAFIZ
в этой ситуации не стоит/нельзя вывернуться созданием Source обычного на основе как раз такого HttpRequest?

или тут и нужно использовать те подходы о которых и речь как раз?броадкастинг, combine
Это как вы предлагаете вывернуться?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Вычитать всё тело? Тогда он начнёт обрабатываться позже, и будет каждый раз больше оперативы кушать
источник

Oℕ

Oleg ℕizhnik in Scala User Group
А есть принципиально бесконечные горячие источники данных
источник

R

RAFIZ in Scala User Group
Oleg ℕizhnik
Вычитать всё тело? Тогда он начнёт обрабатываться позже, и будет каждый раз больше оперативы кушать
тогда смысл в использовании стримов слегка теряется как раз, не?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Какие-нибудь твит-стримы
источник

Oℕ

Oleg ℕizhnik in Scala User Group
RAFIZ
тогда смысл в использовании стримов слегка теряется как раз, не?
Да, поэтому и спрашиваю, как вы вывернуться хотите
источник

R

RAFIZ in Scala User Group
Oleg ℕizhnik
Да, поэтому и спрашиваю, как вы вывернуться хотите
ну что-то типа такого думал. понятно уже что это не ок. просто нащупываю как можно в такой ситуации без Broadcast обойтись
источник

Oℕ

Oleg ℕizhnik in Scala User Group
почти ни в какой ситуации, когда вообще нужны стримы, без подобных конструкций не обойтись, если нужно сплитить источник
источник

R

RAFIZ in Scala User Group
а ну вот
источник