From bd67d4257597de5e63385473d238a98de96198b0 Mon Sep 17 00:00:00 2001 From: alin104n Date: Thu, 11 May 2017 10:34:17 +0300 Subject: [PATCH] StartEngine retry instead of wait --- engine/libtest.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/engine/libtest.go b/engine/libtest.go index 34fe7b6a6..3d96172ec 100644 --- a/engine/libtest.go +++ b/engine/libtest.go @@ -21,6 +21,7 @@ import ( "bytes" "fmt" "io" + "net/rpc/jsonrpc" "os" "os/exec" "path" @@ -67,7 +68,18 @@ func StartEngine(cfgPath string, waitEngine int) (*exec.Cmd, error) { if err := engine.Start(); err != nil { return nil, err } - time.Sleep(time.Duration(waitEngine) * time.Millisecond) // Give time to rater to fire up + if cfg, err := config.NewCGRConfigFromFolder(cfgPath); err == nil { + for { + time.Sleep(100 * time.Millisecond) + _, err2 := jsonrpc.Dial("tcp", cfg.RPCJSONListen) + if err2 == nil { + break + } + } + } else { + return nil, err + } + //time.Sleep(time.Duration(waitEngine) * time.Millisecond) // Give time to rater to fire up return engine, nil }