меня есть
val s: fs2.Stream[IO, Unit] = fs2.Stream.fixedDelay(100.seconds)//.map,flatMap, etc...
Проблема в том, что я хочу, чтобы когда я получу SIGTERM ожидание в 100 секунд прерывалось и дальше выполнялись бы те самые операции которые я задал и стрим завершался.
Моя идея была сделать
val ioOnSigterm: IO[Unit] = //...
IO.race(IO.sleep(100.second), ioOnSigterm)
и потом это обернуть в Stream и сделать repeat, но я как-то странно выглядит.
Посоветуйте, как такую задачу решить?
Я сам в фс2 не умею почти, не обессудь https://gist.github.com/Odomontois/8e84597d94dac76cf06724c6e6e1cdb3
Обсуждают сегодня