管理端全部功能跑通
This commit is contained in:
49
EdgeAPI/internal/rpc/services/httpdns/task_notify.go
Normal file
49
EdgeAPI/internal/rpc/services/httpdns/task_notify.go
Normal file
@@ -0,0 +1,49 @@
|
||||
package httpdns
|
||||
|
||||
import (
|
||||
"github.com/TeaOSLab/EdgeAPI/internal/db/models"
|
||||
"github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs"
|
||||
"github.com/iwind/TeaGo/dbs"
|
||||
)
|
||||
|
||||
func notifyHTTPDNSClusterTask(tx *dbs.Tx, clusterId int64, taskType models.NodeTaskType) error {
|
||||
if clusterId <= 0 {
|
||||
return nil
|
||||
}
|
||||
return models.SharedNodeTaskDAO.CreateClusterTask(tx, nodeconfigs.NodeRoleHTTPDNS, clusterId, 0, 0, taskType)
|
||||
}
|
||||
|
||||
func notifyHTTPDNSAppTasksByApp(tx *dbs.Tx, app *models.HTTPDNSApp, taskType models.NodeTaskType) error {
|
||||
if app == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
primaryClusterId := int64(app.PrimaryClusterId)
|
||||
backupClusterId := int64(app.BackupClusterId)
|
||||
|
||||
err := notifyHTTPDNSClusterTask(tx, primaryClusterId, taskType)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if backupClusterId > 0 && backupClusterId != primaryClusterId {
|
||||
err = notifyHTTPDNSClusterTask(tx, backupClusterId, taskType)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func notifyHTTPDNSAppTasksByAppDbId(tx *dbs.Tx, appDbId int64, taskType models.NodeTaskType) error {
|
||||
if appDbId <= 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
app, err := models.SharedHTTPDNSAppDAO.FindEnabledApp(tx, appDbId)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return notifyHTTPDNSAppTasksByApp(tx, app, taskType)
|
||||
}
|
||||
Reference in New Issue
Block a user