19
19
LocalEvaluationConfigPollInterval = 120
20
20
LocalEvaluationConfigPollerRequestTimeout = 60
21
21
LocalEvaluationDeploymentKey = "server-jAqqJaX3l8PgNiJpcv9j20ywPzANQQFh"
22
+ retries = 5
22
23
)
23
24
24
25
type Variant struct {
@@ -42,7 +43,7 @@ type UserProperties struct {
42
43
TemplateId string `json:"template_id,omitempty"`
43
44
}
44
45
45
- func init () {
46
+ func Init () {
46
47
err := godotenv .Load ()
47
48
if err != nil {
48
49
fmt .Printf ("No .env file found" )
@@ -68,14 +69,24 @@ func init() {
68
69
}
69
70
70
71
func Initialize () {
72
+ Init ()
71
73
config := local.Config {
72
74
Debug : LocalEvaluationConfigDebug ,
73
75
ServerUrl : LocalEvaluationConfigServerUrl ,
74
76
FlagConfigPollerInterval : time .Duration (LocalEvaluationConfigPollInterval ) * time .Second ,
75
77
FlagConfigPollerRequestTimeout : time .Duration (LocalEvaluationConfigPollerRequestTimeout ) * time .Second ,
76
78
}
77
79
client = local .Initialize (LocalEvaluationDeploymentKey , & config )
78
- err := client .Start ()
80
+ var err error
81
+ for i := 0 ; i < retries ; i ++ {
82
+ err = client .Start ()
83
+ if err != nil {
84
+ err = fmt .Errorf ("unable to create local evaluation client with given config %+v attempt:%v with error %s" , config , i + 1 , err .Error ())
85
+ continue
86
+ } else {
87
+ break
88
+ }
89
+ }
79
90
if err != nil {
80
91
err = fmt .Errorf ("unable to create local evaluation client with given config %+v with error %s" , config , err .Error ())
81
92
panic (err )
@@ -84,7 +95,16 @@ func Initialize() {
84
95
85
96
func InitializeWithConfig (conf local.Config , deploymentKey string ) {
86
97
client = local .Initialize (deploymentKey , & conf )
87
- err := client .Start ()
98
+ var err error
99
+ for i := 0 ; i < retries ; i ++ {
100
+ err = client .Start ()
101
+ if err != nil {
102
+ err = fmt .Errorf ("unable to create local evaluation client with given config %+v attempt:%v with error %s" , conf , i + 1 , err .Error ())
103
+ continue
104
+ } else {
105
+ break
106
+ }
107
+ }
88
108
if err != nil {
89
109
err = fmt .Errorf ("unable to create local evaluation client with given config %+v with error %s" , conf , err .Error ())
90
110
panic (err )
0 commit comments