From 852af7abd125a46cd9186784082f5def7817efc8 Mon Sep 17 00:00:00 2001 From: Ken Hibino Date: Tue, 8 Feb 2022 05:53:42 -0800 Subject: [PATCH] Add base.LeaseKey helper function --- internal/base/base.go | 5 +++++ internal/base/base_test.go | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/internal/base/base.go b/internal/base/base.go index 1eadb0c..5eb999a 100644 --- a/internal/base/base.go +++ b/internal/base/base.go @@ -141,6 +141,11 @@ func DeadlinesKey(qname string) string { return fmt.Sprintf("%sdeadlines", QueueKeyPrefix(qname)) } +// LeaseKey returns a redis key for the lease. +func LeaseKey(qname string) string { + return fmt.Sprintf("%slease", QueueKeyPrefix(qname)) +} + func CompletedKey(qname string) string { return fmt.Sprintf("%scompleted", QueueKeyPrefix(qname)) } diff --git a/internal/base/base_test.go b/internal/base/base_test.go index 209c726..5f82f45 100644 --- a/internal/base/base_test.go +++ b/internal/base/base_test.go @@ -88,6 +88,23 @@ func TestDeadlinesKey(t *testing.T) { } } +func TestLeaseKey(t *testing.T) { + tests := []struct { + qname string + want string + }{ + {"default", "asynq:{default}:lease"}, + {"custom", "asynq:{custom}:lease"}, + } + + for _, tc := range tests { + got := LeaseKey(tc.qname) + if got != tc.want { + t.Errorf("LeaseKey(%q) = %q, want %q", tc.qname, got, tc.want) + } + } +} + func TestScheduledKey(t *testing.T) { tests := []struct { qname string