Size: a a a

Scala User Group

2021 March 09

Oℕ

Oleg ℕizhnik in Scala User Group
но в среднем обычно есть Vector или Map Daemon
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Там инфа о том, какое состояние бэкграундовых процессов
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Можно положить Daemon \ zio.Fiber
источник

Oℕ

Oleg ℕizhnik in Scala User Group
И рядом Ref, куда живой процесс периодически будет складывать инфу
источник

Oℕ

Oleg ℕizhnik in Scala User Group
с таймстампом
источник

Oℕ

Oleg ℕizhnik in Scala User Group
И всё это собирать в хттп методе
источник

EK

Evgenii Kuznetcov in Scala User Group
Λнтон Войцишевский
Ну например самое простое — вернуть 5хх и куб рестартанет сервис
Да, обычно не нужно явно мониторить. Но если реально надо, например, логгировать ситуации типа "уже 20 минут читаем", то в мире zio это можно сделать через комбинацию schedule и race. В кэтс, наверняка, тоже
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
Evgenii Kuznetcov
Да, обычно не нужно явно мониторить. Но если реально надо, например, логгировать ситуации типа "уже 20 минут читаем", то в мире zio это можно сделать через комбинацию schedule и race. В кэтс, наверняка, тоже
Эт как например?
источник

EK

Evgenii Kuznetcov in Scala User Group
Λнтон Войцишевский
Эт как например?
Ну я на коленке вот так придумал:

def withMonitoring[R, E, A](task: ZIO[R, E, A], tag: String, monitorInterval: Duration = 20.minutes): ZIO[R with Clock, E, A] = {
   zio.clock.nanoTime.flatMap(start => {
     val monitorOnce: ZIO[Clock, Nothing, Any] = zio.clock.nanoTime.flatMap(now =>
       UIO {
         val dur = Duration.fromNanos(now - start)
         logger.info(s"$tag is running for ${dur.render} so far")
       }
     )

     val runMonitoring = monitorOnce.delay(monitorInterval).forever
     task.raceFirst(runMonitoring)
   })
 }
источник

D

Daniel in Scala User Group
Λнтон Войцишевский
Скаланы, а как вы проверяете то, что запущенные через fs2-шные par-методы процессы ещё живые?
если у тебя стримы бесконечные, то мб просто нужен супервайзинг стримов?
источник

D

Daniel in Scala User Group
Λнтон Войцишевский
Ну например самое простое — вернуть 5хх и куб рестартанет сервис
рестартануть весь сервис, если умер 1 стрим? F
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
Daniel
рестартануть весь сервис, если умер 1 стрим? F
А их там оч мало и это основной функционал сервиса.
источник

АК

Анатолий Кот... in Scala User Group
Добрый день, есть ли тут те, кто пользуются дистейджем?
источник

АК

Анатолий Кот... in Scala User Group
Не пойму, почему у меня приложение при интерапте нормально не завершается - пишет phase=late Going to shut down..., закрывает ресурсы, но после этого продолжает висеть.
источник

АК

Анатолий Кот... in Scala User Group
Думал, может, я где-то у себя накосячил, но в примере
https://github.com/7mind/distage-example
работает также - после kill -s SIGINT pid приложение, судя по логам, начинает финализировать ресурсы но не завершается, пока явно еще и SIGKILL не отправишь.
источник

АК

Анатолий Кот... in Scala User Group
с этим можно что-то сделать?
источник

S🐉

Sergey 🐉 Rublev in Scala User Group
Анатолий Кот
Добрый день, есть ли тут те, кто пользуются дистейджем?
У ребят есть чатик в телеге https://t.me/izumi_ru
источник
2021 March 10

K

Kai in Scala User Group
Анатолий Кот
Думал, может, я где-то у себя накосячил, но в примере
https://github.com/7mind/distage-example
работает также - после kill -s SIGINT pid приложение, судя по логам, начинает финализировать ресурсы но не завершается, пока явно еще и SIGKILL не отправишь.
Хмм, повторил проблему в примере, пофиксим
источник

SA

Sergey Alaev in Scala User Group
https://scastie.scala-lang.org/FbwEuiaOQvKzB719844jaQ

Есть идеи, почему не работает вывод типов для второго примера?
источник

N

Nikolai in Scala User Group
У кого-нибудь ещё было такое? После обновления скала плагина поломалось всё, даже файлы в пакете прогрузить не может
источник