2
0
mirror of https://github.com/hibiken/asynq.git synced 2024-12-27 00:02:19 +08:00

Add base.LeaseKey helper function

This commit is contained in:
Ken Hibino 2022-02-08 05:53:42 -08:00
parent 5490d2c625
commit 852af7abd1
2 changed files with 22 additions and 0 deletions

View File

@ -141,6 +141,11 @@ func DeadlinesKey(qname string) string {
return fmt.Sprintf("%sdeadlines", QueueKeyPrefix(qname)) 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 { func CompletedKey(qname string) string {
return fmt.Sprintf("%scompleted", QueueKeyPrefix(qname)) return fmt.Sprintf("%scompleted", QueueKeyPrefix(qname))
} }

View File

@ -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) { func TestScheduledKey(t *testing.T) {
tests := []struct { tests := []struct {
qname string qname string