@Gamussa если дернуть админ клиент и на фьюче навернуть whenComplete

то админ клиент зависнет при клоузе навеки даже не смотря на возвращенный колбак
def timed[F[_]: Concurrent: Timer](timeout: FiniteDuration): KafkaFuture ~> F =
new (KafkaFuture[?] ~> F[?]) {
override def apply[A](fa: KafkaFuture[A]): F[A] =
Concurrent.timeout(
Concurrent[F].async[A](k => {
fa.whenComplete((result: A, error: Throwable) =>
(result, error) match {
case (x, null) =>
println("SUCCESS CB")
k(Right(x))
case (null, err: ExecutionException) => k(Left(err.getCause))
case (null, err) => k(Left(err))
case (x, _) => k(Right(x)) //impossible
})
})
, timeout
)
}

1 ответов

3 просмотра

Блин, скала

Похожие вопросы

Обсуждают сегодня

Короче я тут узнал полный пиздец Что кучу постов которые я создавал через posted Спустя время не могу редактировать и менять Мол телега возвращае ошибку Это реально так ...
inc.
13
Привет, сталкивался кто с такой ситуацией? У меня есть модальное окно Bootstrap, в нем кнопка закрытия: <button type="button" class="btn-close" data-bs-dismiss="modal" aria-...
Виталий
3
А если изначально бот работал так : есть сайт онлайн школы. У каждого ученика свой кабинет. Где он авторизуется по своим данным. И уже в кабинете, на самом сайте делает оплату...
Денис 💡 Фрилансер
13
что это и почему оно? executor.start_polling(bot, skip_updates=True, on_startup=on_startup, File "/usr/local/lib/python3.10/dist-packages/aiogram/utils/executor.py", line 4...
𐌍𐌄 ᕓ𐌄𐌓𐌌Ꝋ𐌓𐌄
2
Какой число последнее будет, если сказали от 1 до 10 взять все?
Misha Mikhail
5
А у тебя есть информация сколько сейчас использует твой бот?
Artem Stormageddon
4
Окрошка! На квасе или кефире или на пиве?!
Akcium Сергей
4
Забавно, но для тебя "этот" = "следующий" т.е этот год для тебя какой?
Magic
3
А что насчет FluentValidation? тоже ведь есть альтернатива у МС.
devman
13
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Карта сайта