Size: a a a

Scala User Group

2021 January 17

KS

Kirill Shelopugin in Scala User Group
Да, они в 3 сделали авто yield через сколько-то там операций плюс кажется поменяли пул на форкжоин
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Всё так
источник

λ

λoλcat in Scala User Group
λoλcat
Какие гарантии есть в ce2 после вызова unsafeRunSync относительно исполнения файберов, если мейн ИО завершилось?
если сделать unsafeRunSync, и при этом мейн тред продолжит работать, то файберы рано или поздно отработают.
источник

λ

λoλdog in Scala User Group
Если main IO завершится, то может случится дедлок
источник

λ

λoλdog in Scala User Group
не знаю починили ли это
источник

Oℕ

Oleg ℕizhnik in Scala User Group
λoλcat
Какие гарантии есть в ce2 после вызова unsafeRunSync относительно исполнения файберов, если мейн ИО завершилось?
никаких же
источник

λ

λoλcat in Scala User Group
Юрий Бадальянц
Ну там по факту семантика не должна была изменится
Из-за того, что send теперь делается внутри файберов, а их исполнение может быть отложено, то можно успеть закрыть ресурс продьюсера раньше вызова сенд. Так и происходило в тестах. На проде такой ресурс долгоживущий и завершается вместе с приложением.
источник

ЮБ

Юрий Бадальянц... in Scala User Group
λoλcat
Из-за того, что send теперь делается внутри файберов, а их исполнение может быть отложено, то можно успеть закрыть ресурс продьюсера раньше вызова сенд. Так и происходило в тестах. На проде такой ресурс долгоживущий и завершается вместе с приложением.
Ну вообще и раньше такое могло произойти.
источник

λ

λoλcat in Scala User Group
Юрий Бадальянц
Ну вообще и раньше такое могло произойти.
Нет, раньше если внутри use вызывался producer.send, то отправлялось точно (клалось в буфер)
источник

λ

λoλcat in Scala User Group
А щас может создасться файбер, но не выполниться
источник

λ

λoλcat in Scala User Group
Зафейленный тест как раз и показал разницу
источник

ЮБ

Юрий Бадальянц... in Scala User Group
λoλcat
Нет, раньше если внутри use вызывался producer.send, то отправлялось точно (клалось в буфер)
Положить в буфер != Отправлялось
источник

λ

λoλcat in Scala User Group
В данном случае это неважно. Тут проблема утечки ресурса
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Колбэк, который резолвит внутренний F, не вызовется, если ресурс закроется
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Я думаю, что и в старой версии можно было добиться такого поведения
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Просто, наверное, вам везло
источник

λ

λoλcat in Scala User Group
Юрий Бадальянц
Колбэк, который резолвит внутренний F, не вызовется, если ресурс закроется
Колбэк деферред заполняет. А он мне не нужен
источник
2021 January 18

R

RAFIZ in Scala User Group
если я в akka-http в сделаю complete(someSource), где someSource типа Source[.., ..], произойдёт ли backpressure?

если веб-клиент, который сделал запрос на получение этого someSource - медленный - то это вынудит сервер выдавать результат помедленнее и отправить по сети все без потерь для клиента?
источник

AD

Apache DOG™ in Scala User Group
RAFIZ
если я в akka-http в сделаю complete(someSource), где someSource типа Source[.., ..], произойдёт ли backpressure?

если веб-клиент, который сделал запрос на получение этого someSource - медленный - то это вынудит сервер выдавать результат помедленнее и отправить по сети все без потерь для клиента?
Там в доке написано про интеграцию со стримами об этом
источник

e

er@essbase.ru in Scala User Group
RAFIZ
если я в akka-http в сделаю complete(someSource), где someSource типа Source[.., ..], произойдёт ли backpressure?

если веб-клиент, который сделал запрос на получение этого someSource - медленный - то это вынудит сервер выдавать результат помедленнее и отправить по сети все без потерь для клиента?
Поставьте перед диким интернетом реверс прокси, например nginx .
источник