代码拉取完成,页面将自动刷新
package centerctl
import (
"database/sql"
"io/ioutil"
"path/filepath"
"strconv"
"time"
"gitee.com/infrastlabs/fk-container-web-tty/centerctl/asset"
"gitee.com/infrastlabs/fk-container-web-tty/centerctl/util"
"gitee.com/infrastlabs/fk-container-web-tty/centerctl/util/log"
"gitee.com/infrastlabs/fk-container-web-tty/route"
"gitee.com/infrastlabs/fk-sqliteweb/sdk"
"github.com/gin-gonic/gin"
)
func initData(db *sql.DB){
util.DBInit(db) //init table
//exec
/* util.DBExec(db, "INSERT INTO tb_host(host, port, user, pass, status, failcnt) values(?,?,?,?,?,?)",
"192.168.200.67", "22", "root", "Suntek123", "on", 0)
util.DBExec(db, "INSERT INTO tb_host(host, port, user, pass, status, failcnt) values(?,?,?,?,?,?)",
"192.168.200.68", "22", "root", "Suntek123", "on", 2)
util.DBExec(db, "INSERT INTO tb_host(host, port, user, pass, status, failcnt) values(?,?,?,?,?,?)",
"192.168.200.69", "22", "root", "Suntek123", "on", 3) */
}
func extractFile(){
filename:= "tty.tar.gz"
basePath:= "/tmp"
fileData, _ := asset.Asset("dist/" + filename) //"bash/bin/"+file
ioutil.WriteFile(filepath.Join(basePath, filename), fileData, 0755)
}
var db_centerDistribute *sql.DB
func centerDistribute(dbpath string, r *gin.Engine, prefix string, srv *route.Server) {
dbclient := sdk.InitDB(dbpath)
// dbclient.Exec()
// dbclient.MustBytes
// dbclient.Query()
db_centerDistribute= dbclient.GetDB().DB //.(sql.DB) //not interface, trans err.
initData(db_centerDistribute)
// util.DBExec(db_centerDistribute, "UPDATE tb_host SET failcnt=? where host=?", 311, "192.168.200.69")
// r:= gin.Default()
sdk.InitGinRoute(dbclient, r, prefix)
// go r.Run(":9003")
extractFile()
// doOne("192.168.200.69", 22, "root", "Suntek123")
go func(){
for{
// fmt.Println("loop-hello")
//qry
rows, _ := db_centerDistribute.Query("SELECT host, port, user, pass, failcnt FROM tb_host where status='on'")
defer rows.Close()
var addrs []string
for rows.Next() {
var host, port, user, pass string
var failcnt int
_ = rows.Scan(&host, &port, &user, &pass, &failcnt)
log.Info(host, port, user, pass, failcnt)
port2, _:= strconv.Atoi(port)
// go doOne(host, port2, user, pass)
installed:= util.InsAgent(host, port2, user, pass, srv)
if installed {
addr:= host+":8090"
addrs= append(addrs, addr)
// srv.ClientAdd(addr) //use srv.ClientSync.
}
}
//TODO: grpcMap: filterWithDBList, drop deleted mapItem.
srv.ClientSync(addrs)
time.Sleep(time.Second*10) //5s > 10s
}
}()
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。