🚸 使用服务器端时间判断机器离线

This commit is contained in:
naiba
2021-07-16 11:14:07 +08:00
parent 321ccce931
commit 8f06d90c30
9 changed files with 34 additions and 14 deletions

View File

@@ -100,6 +100,11 @@ func (cp *commonPage) home(c *gin.Context) {
var upgrader = websocket.Upgrader{}
type Data struct {
Now int64 `json:"now,omitempty"`
Servers []*model.Server `json:"servers,omitempty"`
}
func (cp *commonPage) ws(c *gin.Context) {
conn, err := upgrader.Upgrade(c.Writer, c.Request, nil)
if err != nil {
@@ -116,7 +121,10 @@ func (cp *commonPage) ws(c *gin.Context) {
count := 0
for {
dao.SortedServerLock.RLock()
err = conn.WriteJSON(dao.SortedServerList)
err = conn.WriteJSON(Data{
Now: time.Now().Unix() * 1000,
Servers: dao.SortedServerList,
})
dao.SortedServerLock.RUnlock()
if err != nil {
break

View File

@@ -175,7 +175,7 @@ func main() {
for _, s := range dao.ServerList {
in := s.State.NetInTransfer - uint64(s.PrevHourlyTransferIn)
out := s.State.NetOutTransfer - uint64(s.PrevHourlyTransferOut)
if in > 0 && out > 0 {
if in > 0 || out > 0 {
tx := model.Transfer{
ServerID: s.ID,
In: in,