Size: a a a

Kotlin Community

2019 November 08

ds

dmitriy stakhov in Kotlin Community
Quantum Harmonizer
Если задача должна работать не в контексте запроса, а независимо, но её надо кинуть куда-то на common pool
То есть каждый раз функцию с post запросом нужно вызывать с помощью GlobalScoup? Не совсем понимаю
источник

VP

Vladimir Petrakovich in Kotlin Community
dmitriy stakhov
Добрый день. Я использую ktor и когда послылаю post запрос возникает ошибка kotlinx.coroutines.JobCancellationException: Parent job is Completed; job=SupervisorJobImpl{Completed}@31d48d8.
Клиент или сервер?
источник

ds

dmitriy stakhov in Kotlin Community
Vladimir Petrakovich
Клиент или сервер?
Клиент
источник

QH

Quantum Harmonizer in Kotlin Community
iseki
😢I 'm not make sure which line cause the problem, but this file I make sure😂
Does your sample reproduces the problem? If yes, have you created the issue?
источник

VP

Vladimir Petrakovich in Kotlin Community
dmitriy stakhov
Клиент
Тогда советы @Harmonizr не очень актуальны 😄
источник

i

iseki in Kotlin Community
Yes, the sample cause problem. I haven't create issue. Looks it's caused by increment compile?
источник

i

iseki in Kotlin Community
Maybe I can try remove compile cache to avoid this problem. But I was  removed /out. 😢
источник

i

iseki in Kotlin Community
Otherwise, Are there any other path for compile cache? If not, I will create issue for it. (Because it's an reproducible problem)
источник

QH

Quantum Harmonizer in Kotlin Community
iseki
Otherwise, Are there any other path for compile cache? If not, I will create issue for it. (Because it's an reproducible problem)
An issue should be created (if it is not a duplicate), no matter whether you know a workaround or not.
To workaround, try commenting out some lines.
источник

i

iseki in Kotlin Community
Quantum Harmonizer
An issue should be created (if it is not a duplicate), no matter whether you know a workaround or not.
To workaround, try commenting out some lines.
Ok I get it.
источник

D

Dmitry in Kotlin Community
Виктор
Оберни async вызовы в coroutineScope
Так эксепшены ловятся, спасибо. Но это явно не идиоматично - все асинки класть оборачивать в лямбду, как по красивому сделать два параллельные задачи, но ошибки отлавливать всеравно?
источник

AO

Alexey Otts in Kotlin Community
Dmitry
Так эксепшены ловятся, спасибо. Но это явно не идиоматично - все асинки класть оборачивать в лямбду, как по красивому сделать два параллельные задачи, но ошибки отлавливать всеравно?
это скорее всего специфика runBlocking
источник

VP

Vladimir Petrakovich in Kotlin Community
Dmitry
Так эксепшены ловятся, спасибо. Но это явно не идиоматично - все асинки класть оборачивать в лямбду, как по красивому сделать два параллельные задачи, но ошибки отлавливать всеравно?
Обернуть разветвление в coroutineScope - это вполне идиоматично
источник

D

Dmitry in Kotlin Community
Vladimir Petrakovich
Обернуть разветвление в coroutineScope - это вполне идиоматично
Так все разветвление нельзя, каждый асинк приходится. В таком случае не понятно, почему нет просто функции асинкСкоуп
источник

VP

Vladimir Petrakovich in Kotlin Community
Dmitry
Так все разветвление нельзя, каждый асинк приходится. В таком случае не понятно, почему нет просто функции асинкСкоуп
Не понял мысль, если честно.
Есть какой-то момент, когда надо распараллелить обработку - делаем coroutineScope и внури асинки.
Дальше продолжается последовательный код.
источник

D

Dmitry in Kotlin Community
Vladimir Petrakovich
Не понял мысль, если честно.
Есть какой-то момент, когда надо распараллелить обработку - делаем coroutineScope и внури асинки.
Дальше продолжается последовательный код.
Дальше не доступен разельтат, который был получен внутри скоупа, область видимости же внешняя.
источник

VP

Vladimir Petrakovich in Kotlin Community
Dmitry
Дальше не доступен разельтат, который был получен внутри скоупа, область видимости же внешняя.
Так его возвращать оттуда нужно
источник

D

Dmitry in Kotlin Community
То есть нужно мне загрузить два списка параллельно, я делаю два асинка и сразу эвейт по ним. А следом портянка кода по обработке результата.
источник

D

Dmitry in Kotlin Community
Кого возвращать? Два списка?
источник

VP

Vladimir Petrakovich in Kotlin Community
Dmitry
Кого возвращать? Два списка?
Ну как-то так:
val result = coroutineScope {
   input.map { async { process(it) } }.awaitAll()
}
источник