mirror of
https://github.com/nezhahq/nezha.git
synced 2025-01-23 05:08:13 -05:00
52 lines
778 B
Go
52 lines
778 B
Go
package dao
|
|
|
|
import (
|
|
"sync"
|
|
|
|
"github.com/jinzhu/gorm"
|
|
"github.com/patrickmn/go-cache"
|
|
|
|
"github.com/p14yground/nezha/model"
|
|
pb "github.com/p14yground/nezha/proto"
|
|
)
|
|
|
|
// Conf ..
|
|
var Conf *model.Config
|
|
|
|
// Cache ..
|
|
var Cache *cache.Cache
|
|
|
|
// DB ..
|
|
var DB *gorm.DB
|
|
|
|
// ServerList ..
|
|
var ServerList map[string]*model.Server
|
|
|
|
// ServerLock ..
|
|
var ServerLock sync.RWMutex
|
|
|
|
// Version ..
|
|
var Version = "debug"
|
|
|
|
func init() {
|
|
if len(Version) > 7 {
|
|
Version = Version[:7]
|
|
}
|
|
}
|
|
|
|
// SendCommand ..
|
|
func SendCommand(cmd *pb.Command) {
|
|
ServerLock.RLock()
|
|
defer ServerLock.RUnlock()
|
|
var err error
|
|
for _, server := range ServerList {
|
|
if server.Stream != nil {
|
|
err = server.Stream.Send(cmd)
|
|
if err != nil {
|
|
close(server.StreamClose)
|
|
server.Stream = nil
|
|
}
|
|
}
|
|
}
|
|
}
|