mirror of
https://github.com/hibiken/asynq.git
synced 2025-08-19 23:19:10 +08:00
Record total tasks processed/failed
This commit is contained in:
@@ -72,6 +72,8 @@ func TestCurrentStats(t *testing.T) {
|
||||
completed map[string][]base.Z
|
||||
processed map[string]int
|
||||
failed map[string]int
|
||||
processedTotal map[string]int
|
||||
failedTotal map[string]int
|
||||
paused []string
|
||||
oldestPendingMessageEnqueueTime map[string]time.Time
|
||||
qname string
|
||||
@@ -121,6 +123,16 @@ func TestCurrentStats(t *testing.T) {
|
||||
"critical": 0,
|
||||
"low": 1,
|
||||
},
|
||||
processedTotal: map[string]int{
|
||||
"default": 11111,
|
||||
"critical": 22222,
|
||||
"low": 33333,
|
||||
},
|
||||
failedTotal: map[string]int{
|
||||
"default": 111,
|
||||
"critical": 222,
|
||||
"low": 333,
|
||||
},
|
||||
oldestPendingMessageEnqueueTime: map[string]time.Time{
|
||||
"default": now.Add(-15 * time.Second),
|
||||
"critical": now.Add(-200 * time.Millisecond),
|
||||
@@ -129,19 +141,21 @@ func TestCurrentStats(t *testing.T) {
|
||||
paused: []string{},
|
||||
qname: "default",
|
||||
want: &Stats{
|
||||
Queue: "default",
|
||||
Paused: false,
|
||||
Size: 4,
|
||||
Pending: 1,
|
||||
Active: 1,
|
||||
Scheduled: 2,
|
||||
Retry: 0,
|
||||
Archived: 0,
|
||||
Completed: 0,
|
||||
Processed: 120,
|
||||
Failed: 2,
|
||||
Latency: 15 * time.Second,
|
||||
Timestamp: now,
|
||||
Queue: "default",
|
||||
Paused: false,
|
||||
Size: 4,
|
||||
Pending: 1,
|
||||
Active: 1,
|
||||
Scheduled: 2,
|
||||
Retry: 0,
|
||||
Archived: 0,
|
||||
Completed: 0,
|
||||
Processed: 120,
|
||||
Failed: 2,
|
||||
ProcessedTotal: 11111,
|
||||
FailedTotal: 111,
|
||||
Latency: 15 * time.Second,
|
||||
Timestamp: now,
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -188,6 +202,16 @@ func TestCurrentStats(t *testing.T) {
|
||||
"critical": 0,
|
||||
"low": 1,
|
||||
},
|
||||
processedTotal: map[string]int{
|
||||
"default": 11111,
|
||||
"critical": 22222,
|
||||
"low": 33333,
|
||||
},
|
||||
failedTotal: map[string]int{
|
||||
"default": 111,
|
||||
"critical": 222,
|
||||
"low": 333,
|
||||
},
|
||||
oldestPendingMessageEnqueueTime: map[string]time.Time{
|
||||
"default": now.Add(-15 * time.Second),
|
||||
"critical": time.Time{}, // zero value since there's no pending task in this queue
|
||||
@@ -196,19 +220,21 @@ func TestCurrentStats(t *testing.T) {
|
||||
paused: []string{"critical", "low"},
|
||||
qname: "critical",
|
||||
want: &Stats{
|
||||
Queue: "critical",
|
||||
Paused: true,
|
||||
Size: 0,
|
||||
Pending: 0,
|
||||
Active: 0,
|
||||
Scheduled: 0,
|
||||
Retry: 0,
|
||||
Archived: 0,
|
||||
Completed: 0,
|
||||
Processed: 100,
|
||||
Failed: 0,
|
||||
Latency: 0,
|
||||
Timestamp: now,
|
||||
Queue: "critical",
|
||||
Paused: true,
|
||||
Size: 0,
|
||||
Pending: 0,
|
||||
Active: 0,
|
||||
Scheduled: 0,
|
||||
Retry: 0,
|
||||
Archived: 0,
|
||||
Completed: 0,
|
||||
Processed: 100,
|
||||
Failed: 0,
|
||||
ProcessedTotal: 22222,
|
||||
FailedTotal: 222,
|
||||
Latency: 0,
|
||||
Timestamp: now,
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -228,12 +254,16 @@ func TestCurrentStats(t *testing.T) {
|
||||
h.SeedAllCompletedQueues(t, r.client, tc.completed)
|
||||
ctx := context.Background()
|
||||
for qname, n := range tc.processed {
|
||||
processedKey := base.ProcessedKey(qname, now)
|
||||
r.client.Set(ctx, processedKey, n, 0)
|
||||
r.client.Set(ctx, base.ProcessedKey(qname, now), n, 0)
|
||||
}
|
||||
for qname, n := range tc.failed {
|
||||
failedKey := base.FailedKey(qname, now)
|
||||
r.client.Set(ctx, failedKey, n, 0)
|
||||
r.client.Set(ctx, base.FailedKey(qname, now), n, 0)
|
||||
}
|
||||
for qname, n := range tc.processedTotal {
|
||||
r.client.Set(ctx, base.ProcessedTotalKey(qname), n, 0)
|
||||
}
|
||||
for qname, n := range tc.failedTotal {
|
||||
r.client.Set(ctx, base.FailedTotalKey(qname), n, 0)
|
||||
}
|
||||
for qname, enqueueTime := range tc.oldestPendingMessageEnqueueTime {
|
||||
if enqueueTime.IsZero() {
|
||||
|
Reference in New Issue
Block a user