aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorn1t0r <git@n1t0r.com>2023-04-21 20:02:33 +1000
committern1t0r <git@n1t0r.com>2023-04-21 20:02:33 +1000
commitba5a67a7bdd3d73309d34c50a2149dee2b3213b8 (patch)
tree3ca410ae407d6952366182c389d94d23949dcea8
parent6fc264eb52036ee6011d091d9ecdfa52923d6561 (diff)
downloadsteady-ba5a67a7bdd3d73309d34c50a2149dee2b3213b8.tar.gz
steady-ba5a67a7bdd3d73309d34c50a2149dee2b3213b8.tar.bz2
steady-ba5a67a7bdd3d73309d34c50a2149dee2b3213b8.zip
Delete key from partitions map if it is empty.
-rw-r--r--queue.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/queue.go b/queue.go
index 3d61ec3..04eaef7 100644
--- a/queue.go
+++ b/queue.go
@@ -244,6 +244,9 @@ func (q *Queue[K]) Pop() (item Item[K], ok bool) {
q.snoozeQ.Push(key, time.Now().Add(q.interval()).UnixMicro())
q.snoozeQNotEmpty.Signal()
} else {
+ q.partitionsMu.Lock()
+ delete(q.partitions, key)
+ q.partitionsMu.Unlock()
q.inactiveKeys[key] = time.Now().Add(q.interval())
}
q.snoozeQMu.Unlock()