mirror of
https://github.com/statbate/animated-sniffle.git
synced 2026-08-11 02:12:41 +00:00
update
This commit is contained in:
parent
51ebbd9a8b
commit
c22576a6bf
3 changed files with 29 additions and 25 deletions
|
|
@ -93,8 +93,8 @@ func initClickhouse() {
|
||||||
|
|
||||||
func socketHandler() {
|
func socketHandler() {
|
||||||
|
|
||||||
var(
|
var (
|
||||||
err error
|
err error
|
||||||
conn net.Conn
|
conn net.Conn
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
32
app/save.go
32
app/save.go
|
|
@ -69,11 +69,24 @@ func saveDB() {
|
||||||
index := make(map[string]int64)
|
index := make(map[string]int64)
|
||||||
|
|
||||||
ticker := time.NewTicker(10 * time.Second)
|
ticker := time.NewTicker(10 * time.Second)
|
||||||
|
defer ticker.Stop()
|
||||||
|
|
||||||
|
cleanCache := time.NewTicker(12 * time.Hour)
|
||||||
|
defer cleanCache.Stop()
|
||||||
|
|
||||||
index = map[string]int64{"hours": int64(hours), "tokens": getSumTokens(), "last": time.Now().Unix()}
|
index = map[string]int64{"hours": int64(hours), "tokens": getSumTokens(), "last": time.Now().Unix()}
|
||||||
|
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
|
case <-cleanCache.C:
|
||||||
|
l := len(data)
|
||||||
|
now := time.Now().Unix()
|
||||||
|
for k, v := range data {
|
||||||
|
if now > v.Last+60*60*48 {
|
||||||
|
delete(data, k)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fmt.Println("Clean map:", l, "=>", len(data))
|
||||||
case <-ticker.C:
|
case <-ticker.C:
|
||||||
if len(bulk) > 0 {
|
if len(bulk) > 0 {
|
||||||
tx, err := Mysql.Begin()
|
tx, err := Mysql.Begin()
|
||||||
|
|
@ -156,27 +169,17 @@ func saveDB() {
|
||||||
if minutes >= 5 && now > index["last"]+30 {
|
if minutes >= 5 && now > index["last"]+30 {
|
||||||
seconds += minutes * 60
|
seconds += minutes * 60
|
||||||
msg, err := json.Marshal(struct {
|
msg, err := json.Marshal(struct {
|
||||||
Chanel string `json:"chanel"`
|
Chanel string `json:"chanel"`
|
||||||
Index float64 `json:"index"`
|
Index float64 `json:"index"`
|
||||||
}{
|
}{
|
||||||
Chanel: "bongacams",
|
Chanel: "bongacams",
|
||||||
Index: float64(index["tokens"]) / float64(seconds) * 3600 * 0.025 / 1000,
|
Index: float64(index["tokens"]) / float64(seconds) * 3600 * 0.025 / 1000,
|
||||||
})
|
})
|
||||||
if err == nil {
|
if err == nil {
|
||||||
socketServer <- msg
|
socketServer <- msg
|
||||||
}
|
}
|
||||||
index["last"] = now
|
index["last"] = now
|
||||||
}
|
}
|
||||||
|
|
||||||
if randInt(0, 10000) == 777 { // 0.001%
|
|
||||||
l := len(data)
|
|
||||||
for k, v := range data {
|
|
||||||
if now > v.Last+60*60*48 {
|
|
||||||
delete(data, k)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fmt.Println("Clean map:", l, "=>", len(data))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -184,6 +187,7 @@ func saveDB() {
|
||||||
func saveLogs() {
|
func saveLogs() {
|
||||||
bulk := []saveLog{}
|
bulk := []saveLog{}
|
||||||
ticker := time.NewTicker(10 * time.Second)
|
ticker := time.NewTicker(10 * time.Second)
|
||||||
|
defer ticker.Stop()
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case <-ticker.C:
|
case <-ticker.C:
|
||||||
|
|
|
||||||
|
|
@ -81,14 +81,14 @@ func announceCount() {
|
||||||
rooms.Count <- 0
|
rooms.Count <- 0
|
||||||
l := <-rooms.Count
|
l := <-rooms.Count
|
||||||
msg, err := json.Marshal(struct {
|
msg, err := json.Marshal(struct {
|
||||||
Chanel string `json:"chanel"`
|
Chanel string `json:"chanel"`
|
||||||
Count int `json:"count"`
|
Count int `json:"count"`
|
||||||
}{
|
}{
|
||||||
Chanel: "bongacams",
|
Chanel: "bongacams",
|
||||||
Count: l,
|
Count: l,
|
||||||
})
|
})
|
||||||
if err == nil {
|
if err == nil {
|
||||||
ws.Send <- msg
|
socketServer <- msg
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue