mirror of
https://github.com/lukaszraczylo/graphql-monitoring-proxy.git
synced 2026-10-26 06:58:39 +00:00
Add initial retry for end graphql server connection.
This commit is contained in:
+2
-1
@@ -1,3 +1,4 @@
|
|||||||
graphql-proxy
|
graphql-proxy
|
||||||
test.sh
|
test.sh
|
||||||
banned.json*
|
banned.json*
|
||||||
|
dist/
|
||||||
@@ -5,12 +5,15 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/avast/retry-go/v4"
|
||||||
"github.com/gofiber/fiber/v2/middleware/proxy"
|
"github.com/gofiber/fiber/v2/middleware/proxy"
|
||||||
"github.com/gookit/goutil/envutil"
|
"github.com/gookit/goutil/envutil"
|
||||||
graphql "github.com/lukaszraczylo/go-simple-graphql"
|
graphql "github.com/lukaszraczylo/go-simple-graphql"
|
||||||
libpack_cache "github.com/lukaszraczylo/graphql-monitoring-proxy/cache"
|
libpack_cache "github.com/lukaszraczylo/graphql-monitoring-proxy/cache"
|
||||||
libpack_config "github.com/lukaszraczylo/graphql-monitoring-proxy/config"
|
libpack_config "github.com/lukaszraczylo/graphql-monitoring-proxy/config"
|
||||||
|
libpack_logger "github.com/lukaszraczylo/graphql-monitoring-proxy/logging"
|
||||||
libpack_logging "github.com/lukaszraczylo/graphql-monitoring-proxy/logging"
|
libpack_logging "github.com/lukaszraczylo/graphql-monitoring-proxy/logging"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -118,6 +121,33 @@ func parseConfig() {
|
|||||||
func main() {
|
func main() {
|
||||||
parseConfig()
|
parseConfig()
|
||||||
StartMonitoringServer()
|
StartMonitoringServer()
|
||||||
|
|
||||||
|
err := retry.Do(
|
||||||
|
func() error {
|
||||||
|
_, err := cfg.Client.GQLClient.Query(healthCheckQueryStr, nil, nil)
|
||||||
|
return err
|
||||||
|
},
|
||||||
|
retry.Attempts(10),
|
||||||
|
retry.Delay(1*time.Second),
|
||||||
|
retry.OnRetry(func(n uint, err error) {
|
||||||
|
cfg.Logger.Warning(&libpack_logger.LogMessage{
|
||||||
|
Message: "Retrying initial connection to GraphQL server",
|
||||||
|
Pairs: map[string]interface{}{
|
||||||
|
"attempt": n + 1,
|
||||||
|
"error": err.Error(),
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}),
|
||||||
|
)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
cfg.Logger.Critical(&libpack_logger.LogMessage{
|
||||||
|
Message: "Failed to establish initial connection to GraphQL server",
|
||||||
|
Pairs: map[string]interface{}{"error": err.Error()},
|
||||||
|
})
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
StartHTTPProxy()
|
StartHTTPProxy()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user