diff --git a/models/peer/peer_cache.go b/models/peer/peer_cache.go index 372748e..2eb15af 100644 --- a/models/peer/peer_cache.go +++ b/models/peer/peer_cache.go @@ -45,14 +45,20 @@ func (p *PeerCache) checkPeerStatus(peerID string, caller *tools.HTTPCaller) boo url = strings.ReplaceAll(url, "127.0.0.1", utils.PEER.API()) } methods := caller.URLS[utils.PEER.String()] + fmt.Println("checkPeerStatus AFT 3", url, methods) + if methods == nil { return false } meth := methods[tools.POST] + fmt.Println("checkPeerStatus AFT 4", meth) + if meth == "" { return false } state := api.CheckRemotePeer(url + meth) + fmt.Println("checkPeerStatus AFT 4", state) + return state != tools.DEAD } @@ -73,6 +79,7 @@ func (p *PeerCache) LaunchPeerExecution(peerID string, isMySelf bool, dataID str var err error b := []byte{} methods := caller.URLS[dt.String()] + fmt.Println("LaunchPeerExecution AFT 2", methods) if _, ok := methods[method]; !ok { return nil, errors.New("no path found") } @@ -108,7 +115,9 @@ func (p *PeerCache) LaunchPeerExecution(peerID string, isMySelf bool, dataID str } return pexec, err } - if _, ok := m["error"]; !ok { + fmt.Println("LaunchPeerExecution AFT 3", m) + + if e, ok := m["error"]; !ok && e != "" { return nil, errors.New(fmt.Sprintf("%v", m["error"])) } return nil, err diff --git a/models/workflow/workflow.go b/models/workflow/workflow.go index ff53758..47603e5 100644 --- a/models/workflow/workflow.go +++ b/models/workflow/workflow.go @@ -64,6 +64,7 @@ func (wfa *Workflow) CheckBooking(subPath string, caller *tools.HTTPCaller) (boo if code != 200 { return false, err } + subPath = strings.ReplaceAll(subPath, ":datacenter_id", fmt.Sprintf("%v", dc_id)) subPath = strings.ReplaceAll(subPath, ":start_date", wfa.getFormat(wfa.Schedule.Start)) subPath = strings.ReplaceAll(subPath, ":end_date", wfa.getFormat(&e)) _, err = p.(*peer.Peer).LaunchPeerExecution(peerID, "", p.(*peer.Peer).Url+subPath, utils.BOOKING, tools.GET, nil, caller)