Ejemplo n.º 1
0
func QueryDeployVersionFiles(name string) {
	log.Println("QueryDeployVersionFiles:", name)
	data, err := util.JsonRpcData("http://" + deployUrl + "/rpc/files?version=" + name)
	if err != nil {
		log.Println(err)
		return
	}
	var files []interface{} = data["files"].([]interface{})

	versionLock.Lock()
	defer versionLock.Unlock()

	cur := FindVersion(name)
	if cur == nil {
		return
	}
	cur.filesQed = true
	cur.Files = make([]VerFile, len(files))
	for i := 0; i < len(files); i++ {
		f := files[i].(map[string]interface{})
		name := f["Name"].(string)
		size := int64(f["Size"].(float64))
		modtime := f["ModTime"].(string)
		var t time.Time
		t.UnmarshalJSON([]byte("\"" + modtime + "\""))
		cur.Files[i] = VerFile{name, size, t, false}
		//log.Println("f:", i, name, size, modtime, t, err)
	}
	log.Println("QueryDeployVersionFiles:", name, len(cur.Files))
	CheckVersionLocalState(cur)
	//	dbg, _ := json.Marshal(cur.Files)
	//	log.Println("4:", string(dbg))
}
Ejemplo n.º 2
0
func QueryDeployVersions() {
	data, err := util.JsonRpcData("http://" + deployUrl + "/rpc/status?versions=1")
	if err != nil {
		log.Println(err)
		return
	}
	var vers []interface{} = data["versions"].([]interface{})
	if len(vers) <= 0 {
		//deploy has no versions, skip further actions
		return
	}

	versionLock.Lock()
	for e := versionList.Front(); e != nil; e = e.Next() {
		d := e.Value.(*Version)
		d.deploySynced = false
	}
	versionLock.Unlock()

	for i := 0; i < len(vers); i++ {
		v := vers[i].(map[string]interface{})
		ver := Version{}
		ver.Name = v["Name"].(string)
		ver.Active = v["Active"].(bool)
		ver.Size = int64(v["Size"].(float64))
		ver.numFiles = int(v["Files"].(float64))
		UpdateDeployVersion(&ver)
	}

	DeleteOrphanedVersions()
	//dbg, _ := json.Marshal(vers)
	//log.Println(string(dbg))
}