Size: a a a

Scala User Group

2020 January 10

SA

Sergey Alaev in Scala User Group
в ио пойманный ООМ пробрасывается в тредпул. попробую подшаманить ExecutionContext и ловить в нём.
источник

DM

Daniel Matveev in Scala User Group
λoλdog
так постой, тебе же не надо ловить, тебе надо  не ловить наоборот
только если ты не пишешь свою идею
источник

SA

Sergey Alaev in Scala User Group
нет, надо ловить. у меня два файбера, связанных через Deferred. если один из них предназначен его комплитить и внезапно умирает, то приложение вешается.
источник

SA

Sergey Alaev in Scala User Group
watchdog тоже не напишешь, в Fiber почему-то не предусмотрели метода проверки статуса файбера)
источник

SA

Sergey Alaev in Scala User Group
В итоге заменил ExecutionContext на свой, который при OOM завершает приложение, а не поток. сойдет, я думаю.
источник

SA

Sergey Alaev in Scala User Group
А вообще автора NonFatal ждет отдельный котёл в аду, с регулировкой подачи воды на отдельном файбере на машине с ограниченным объемом памяти.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Sergey Alaev
нет, надо ловить. у меня два файбера, связанных через Deferred. если один из них предназначен его комплитить и внезапно умирает, то приложение вешается.
эх, щас бы файберы деферредом связывать
источник

SA

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

Oℕ

Oleg ℕizhnik in Scala User Group
Это в принципе плохо
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Всегда когда есть возможность. файберы нужно связывать через Fiber
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Очень часто злоупотребление дефередами  от старых промис привычек из фьючерного прошлого
источник

SA

Sergey Alaev in Scala User Group
Oleg ℕizhnik
Всегда когда есть возможность. файберы нужно связывать через Fiber
что ты имеешь в виду?
источник

λ

λoλdog in Scala User Group
источник

λ

λoλdog in Scala User Group
даже такое есть(
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Sergey Alaev
что ты имеешь в виду?
это значит, что вместо генерации дефереда, завершения его в одном файбере и ожидания в другом, лучше переписать через start так, чтобы один тред явно ждал завершения другого
источник

λ

λoλdog in Scala User Group
но вообще дефолт ec для IOApp уже ловит throwable
источник

λ

λoλdog in Scala User Group
@sergey_alaev похоже ты сделал то, что уже сделано
источник

SA

Sergey Alaev in Scala User Group
мне нужен не дефолтный, мне нужен отдельный
источник

SA

Sergey Alaev in Scala User Group
Oleg ℕizhnik
это значит, что вместо генерации дефереда, завершения его в одном файбере и ожидания в другом, лучше переписать через start так, чтобы один тред явно ждал завершения другого
ааа, это согласен. но у меня другой случай
источник

λ

λoλdog in Scala User Group
ааа понял, ты ж там дичь сделал с пулами)
источник