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) }