This commit is contained in:
shoopea 2019-06-14 11:26:05 +08:00
parent c94c8efd46
commit 0be25f0899

View File

@ -2,27 +2,28 @@ package main
import (
"strings"
"time"
)
func clientKeepAlive(k, v interface{}) bool {
c := v.(MQKeepAlive)
if c.Date.Add(2 * KeepAliveHeartBeatSeconds * time.Second).Before(time.Now()) {
msgs, err := clientsQueue[v.UserID64].Channel.QueuePurge(clientsQueue[v.UserID64].Queue.Name, false)
msgs, err := clientsQueue[c.UserID64].Channel.QueuePurge(clientsQueue[v.UserID64].Queue.Name, false)
logOnError(err, "clientKeepAlive : Channel.QueuePurge()")
err = clientsQueue[v.UserID64].Channel.Close()
err = clientsQueue[c.UserID64].Channel.Close()
logOnError(err, "clientKeepAlive : Channel.Close()")
err = clientsQueue[v.UserID64].Connection.Close()
err = clientsQueue[c.UserID64].Connection.Close()
logOnError(err, "clientKeepAlive : Connection.Close()")
c := TGCommand{
Type: commandSendMsg,
ToUserID64: v.UserID64,
ToUserID64: c.UserID64,
Text: "Timeout, purging and closing command queue.",
}
TGCmdQueue <- c
c = TGCommand{
Type: commandSendMsg,
ToUserID64: cfg.Bot.Admin,
Text: fmt.Sprintf("Client %s timed out (%d messages purged).", v.Nickname, msgs),
Text: fmt.Sprintf("Client %s timed out (%d messages purged).", c.Nickname, msgs),
}
TGCmdQueue <- c