From adb819b0dc355b83c7a2c031b04c9c7b289b3766 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Thu, 31 Jan 2019 09:52:43 +0800 Subject: [PATCH 1/3] start 0.9.2 --- CHANGELOG.md | 2 ++ build.gradle | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 04a9c2c6fe..958b0211d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,8 @@ must be regular text * Add `ResendableContent#createResends` which create adapted list of resends for content * Add `TextContent` own `createResends` realisation +### 0.9.2 + ### 0.8.5 * Add extension `String#toMarkdown` diff --git a/build.gradle b/build.gradle index 42460f767d..a45b9c6d9f 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ -project.version = "0.9.1" +project.version = "0.9.2" project.group = "com.github.insanusmokrassar" buildscript { From 05e0ec704e386ca3d16ecc1151691d0e72e5d0a6 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Thu, 31 Jan 2019 09:53:58 +0800 Subject: [PATCH 2/3] RequestsExecutor.executeAsync(...): Deferred --- CHANGELOG.md | 2 ++ .../TelegramBotAPI/utils/extensions/RequestsExecutor.kt | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 958b0211d3..1175042bb8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,8 @@ must be regular text ### 0.9.2 +* `RequestsExecutor#executeAsync(Request, CoroutineScope)` now will return `Deferred` for cases when you need result + ### 0.8.5 * Add extension `String#toMarkdown` diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/extensions/RequestsExecutor.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/extensions/RequestsExecutor.kt index 5d9165a40c..564517415f 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/extensions/RequestsExecutor.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/extensions/RequestsExecutor.kt @@ -164,7 +164,7 @@ fun RequestsExecutor.executeAsync( fun RequestsExecutor.executeAsync( request: Request, scope: CoroutineScope = GlobalScope -): Job { +): Deferred { return scope.async { execute(request) } } From 66be2681c08583ff58360f4eeb70aa32c36165da Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Thu, 31 Jan 2019 09:57:49 +0800 Subject: [PATCH 3/3] RequestsExecutor.executeUnsafe(...) retries --- CHANGELOG.md | 1 + .../utils/extensions/RequestsExecutor.kt | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1175042bb8..4af16614a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ must be regular text ### 0.9.2 * `RequestsExecutor#executeAsync(Request, CoroutineScope)` now will return `Deferred` for cases when you need result +* `RequestsExecutor#executeUnsafe` will automatically retry request if it was unsuccessful and retries > 0 ### 0.8.5 diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/extensions/RequestsExecutor.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/extensions/RequestsExecutor.kt index 564517415f..0264a29788 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/extensions/RequestsExecutor.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/extensions/RequestsExecutor.kt @@ -169,11 +169,18 @@ fun RequestsExecutor.executeAsync( } suspend fun RequestsExecutor.executeUnsafe( - request: Request + request: Request, + retries: Int = 0, + retriesDelay: Long = 1000L ): T? { return try { execute(request) } catch (e: RequestException) { - null + if (retries > 0) { + delay(retriesDelay) + executeUnsafe(request, retries - 1, retriesDelay) + } else { + null + } } }