This is an automated email from the ASF dual-hosted git repository.
zhongxjian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-kubernetes.git
The following commit(s) were added to refs/heads/master by this push:
new 66f8f196 [horus] pod Add, Delete, Change (#385)
66f8f196 is described below
commit 66f8f196b9fa7dfa8f9699957f1311e0306cb58d
Author: mfordjody <[email protected]>
AuthorDate: Fri Sep 27 13:00:49 2024 +0800
[horus] pod Add, Delete, Change (#385)
---
app/horus/basic/db/db.go | 70 +++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 69 insertions(+), 1 deletion(-)
diff --git a/app/horus/basic/db/db.go b/app/horus/basic/db/db.go
index 699a8a04..c4d1950e 100644
--- a/app/horus/basic/db/db.go
+++ b/app/horus/basic/db/db.go
@@ -43,7 +43,7 @@ type NodeDataInfo struct {
}
type PodDataInfo struct {
- Id uint32 `json:"id"`
+ Id int64 `json:"id"`
PodName string `json:"podName"`
PodIP string `json:"podIP"`
Sn string `json:"sn"`
@@ -80,6 +80,11 @@ func (n *NodeDataInfo) Add() (int64, error) {
return row, err
}
+func (p *PodDataInfo) Add() (int64, error) {
+ row, err := db.Insert(p)
+ return row, err
+}
+
func (n *NodeDataInfo) Get() (*NodeDataInfo, error) {
exist, err := db.Get(n)
if err != nil {
@@ -91,6 +96,17 @@ func (n *NodeDataInfo) Get() (*NodeDataInfo, error) {
return n, nil
}
+func (p *PodDataInfo) Get() (*PodDataInfo, error) {
+ exist, err := db.Get(p)
+ if err != nil {
+ return nil, err
+ }
+ if !exist {
+ return nil, nil
+ }
+ return p, nil
+}
+
func (n *NodeDataInfo) Update() (bool, error) {
firstDate := time.Now().Format("2006-01-02 15:04:05")
n.FirstDate = firstDate
@@ -105,11 +121,30 @@ func (n *NodeDataInfo) Update() (bool, error) {
return false, nil
}
+func (p *PodDataInfo) Update() (bool, error) {
+ firstDate := time.Now().Format("2006-01-02 15:04:05")
+ p.FirstDate = firstDate
+
+ row, err := db.Where(fmt.Sprintf("id=%d", p.Id)).Update(p)
+ if err != nil {
+ return false, err
+ }
+ if row > 0 {
+ return true, nil
+ }
+ return false, nil
+}
+
func (n *NodeDataInfo) Check() (bool, error) {
exist, err := db.Exist(n)
return exist, err
}
+func (p *PodDataInfo) Check() (bool, error) {
+ exist, err := db.Exist(p)
+ return exist, err
+}
+
func (n *NodeDataInfo) AddOrGet() (int64, error) {
exist, _ := n.Check()
if exist {
@@ -119,6 +154,15 @@ func (n *NodeDataInfo) AddOrGet() (int64, error) {
return row, err
}
+func (p *PodDataInfo) AddOrGet() (int64, error) {
+ exist, _ := p.Check()
+ if exist {
+ return p.Id, nil
+ }
+ row, err := p.Add()
+ return row, err
+}
+
func GetRecoveryNodeDataInfoDate(day int) ([]NodeDataInfo, error) {
var ndi []NodeDataInfo
session := db.Where(fmt.Sprintf("recovery_mark = 0 AND first_date >
DATE_SUB(CURDATE(), INTERVAL %d DAY)", day))
@@ -149,3 +193,27 @@ func (n *NodeDataInfo) RestartMarker() (bool, error) {
n.Restart = 1
return n.Update()
}
+
+func GetPod() ([]PodDataInfo, error) {
+ var pdi []PodDataInfo
+ session := db.Where(fmt.Sprintf("id>%d", 0))
+ err := session.Find(&pdi)
+ return pdi, err
+}
+
+func GetPodByName(podName, moduleName string) (*PodDataInfo, error) {
+ pdi := PodDataInfo{
+ PodName: podName,
+ ModuleName: moduleName,
+ }
+ return pdi.Get()
+}
+
+func GetLimitPodDataInfo(limit, offset int, orderColumn, where string, args
...interface{}) ([]PodDataInfo, error) {
+ var pdi []PodDataInfo
+ err := db.Where(where, args...).Limit(limit,
offset).Desc(orderColumn).Find(pdi)
+ if err != nil {
+ return nil, err
+ }
+ return pdi, nil
+}