mirror of
https://github.com/newnius/YAO-scheduler.git
synced 2025-06-06 05:51:54 +00:00
create overlay network adead
This commit is contained in:
parent
2c868f459e
commit
0c58264435
@ -189,6 +189,7 @@ func (jm *JobManager) start() {
|
||||
}
|
||||
|
||||
/* release again to make sure resources are released */
|
||||
jm.stop()
|
||||
jm.returnResource()
|
||||
|
||||
/* feed data to optimizer */
|
||||
|
@ -164,6 +164,40 @@ func (pool *ResourcePool) Start() {
|
||||
pool.batchMu.Unlock()
|
||||
}
|
||||
}()
|
||||
|
||||
/* create overlay networks ahead */
|
||||
go func() {
|
||||
for {
|
||||
pool.networkMu.Lock()
|
||||
if len(pool.networksFree) < 5 {
|
||||
var network string
|
||||
for {
|
||||
network = "yao-net-" + strconv.Itoa(rand.Intn(999999))
|
||||
if _, ok := pool.networks[network]; !ok {
|
||||
break
|
||||
}
|
||||
}
|
||||
v := url.Values{}
|
||||
v.Set("name", network)
|
||||
spider := Spider{}
|
||||
spider.Method = "POST"
|
||||
spider.URL = "http://yao-agent-master:8000/create"
|
||||
spider.Data = v
|
||||
spider.ContentType = "application/x-www-form-urlencoded"
|
||||
err := spider.do()
|
||||
if err != nil {
|
||||
log.Warn(err.Error())
|
||||
continue
|
||||
}
|
||||
resp := spider.getResponse()
|
||||
resp.Body.Close()
|
||||
pool.networksFree[network] = true
|
||||
pool.networks[network] = true
|
||||
}
|
||||
pool.networkMu.Unlock()
|
||||
time.Sleep(time.Second * 1)
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
/* check dead nodes periodically */
|
||||
@ -544,7 +578,7 @@ func (pool *ResourcePool) acquireNetwork() string {
|
||||
|
||||
func (pool *ResourcePool) releaseNetwork(network string) {
|
||||
pool.networkMu.Lock()
|
||||
pool.networksFree[network] = true
|
||||
//pool.networksFree[network] = true
|
||||
pool.networkMu.Unlock()
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user