mirror of
https://github.com/newnius/YAO-scheduler.git
synced 2025-06-07 14:21:55 +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 */
|
/* release again to make sure resources are released */
|
||||||
|
jm.stop()
|
||||||
jm.returnResource()
|
jm.returnResource()
|
||||||
|
|
||||||
/* feed data to optimizer */
|
/* feed data to optimizer */
|
||||||
|
@ -164,6 +164,40 @@ func (pool *ResourcePool) Start() {
|
|||||||
pool.batchMu.Unlock()
|
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 */
|
/* check dead nodes periodically */
|
||||||
@ -544,7 +578,7 @@ func (pool *ResourcePool) acquireNetwork() string {
|
|||||||
|
|
||||||
func (pool *ResourcePool) releaseNetwork(network string) {
|
func (pool *ResourcePool) releaseNetwork(network string) {
|
||||||
pool.networkMu.Lock()
|
pool.networkMu.Lock()
|
||||||
pool.networksFree[network] = true
|
//pool.networksFree[network] = true
|
||||||
pool.networkMu.Unlock()
|
pool.networkMu.Unlock()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user