меня есть
                  
                  
                  
                  
                  
                  
                  
                  
                  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
Обсуждают сегодня