From 553e929c11445ced3ae3eabbf93ac63a735487e6 Mon Sep 17 00:00:00 2001 From: gazebo Date: Thu, 19 Jul 2018 12:19:41 +0800 Subject: [PATCH] - CallFuncRetryAsync added --- utils/utils.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/utils/utils.go b/utils/utils.go index fe37cb8d..b79019ad 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -124,6 +124,16 @@ func CallFuncAsync(funcToCall func()) { }() } +func CallFuncRetryAsync(handler func(int) error, duration time.Duration, retryCount int) (err error) { + err = handler(retryCount) + if err != nil && retryCount > 0 { + time.AfterFunc(duration, func() { + CallFuncRetryAsync(handler, duration, retryCount-1) + }) + } + return err +} + func GenerateGetURL(baseURL, apiStr string, params map[string]interface{}) string { queryString := "" if params != nil {