skip queue timer
All checks were successful
Build and Publish / BuildAndDeploy (push) Successful in 1m45s
All checks were successful
Build and Publish / BuildAndDeploy (push) Successful in 1m45s
This commit is contained in:
@@ -217,6 +217,13 @@ func NewPacketQueue(connection net.Conn) *PacketQueue {
|
|||||||
}
|
}
|
||||||
packetQueue.Inc()
|
packetQueue.Inc()
|
||||||
queue.mu.Lock()
|
queue.mu.Lock()
|
||||||
|
for i, packet := range queue.Packets {
|
||||||
|
if time.Since(packet.Added) < time.Second*5 {
|
||||||
|
queue.Packets = queue.Packets[i:]
|
||||||
|
packetQueue.Set(float64(len(queue.Packets)))
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
queue.Packets = append(queue.Packets, PacketWithData{
|
queue.Packets = append(queue.Packets, PacketWithData{
|
||||||
MessageType: messageType,
|
MessageType: messageType,
|
||||||
Added: time.Now(),
|
Added: time.Now(),
|
||||||
@@ -225,21 +232,6 @@ func NewPacketQueue(connection net.Conn) *PacketQueue {
|
|||||||
queue.mu.Unlock()
|
queue.mu.Unlock()
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
go func(queueTimer *time.Ticker) {
|
|
||||||
for {
|
|
||||||
<-queueTimer.C
|
|
||||||
queue.mu.Lock()
|
|
||||||
for i, packet := range queue.Packets {
|
|
||||||
if time.Since(packet.Added) < time.Second*3 {
|
|
||||||
|
|
||||||
queue.Packets = queue.Packets[i:]
|
|
||||||
packetQueue.Set(float64(len(queue.Packets)))
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
queue.mu.Unlock()
|
|
||||||
}
|
|
||||||
}(time.NewTicker(time.Second))
|
|
||||||
return queue
|
return queue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user