fix monitoring online dispatch retries
This commit is contained in:
@@ -499,6 +499,73 @@ func TestMonitoringTaskFailureDispositionDetectsAuthorizationFailureFromMessage(
|
||||
}
|
||||
}
|
||||
|
||||
func TestMonitoringFailedResultOutcomeRequeuesAutomaticFirstFailure(t *testing.T) {
|
||||
message := "模型调用超时"
|
||||
got := monitoringFailedResultOutcomeForTask(&monitoringCollectTask{
|
||||
TriggerSource: "automatic",
|
||||
AutomaticFailureCount: 0,
|
||||
}, MonitoringTaskResultRequest{
|
||||
Status: "failed",
|
||||
ErrorMessage: &message,
|
||||
})
|
||||
|
||||
if got.TaskStatus != "pending" {
|
||||
t.Fatalf("TaskStatus = %q, want pending", got.TaskStatus)
|
||||
}
|
||||
if !got.Requeue {
|
||||
t.Fatal("Requeue = false, want true")
|
||||
}
|
||||
if got.RetryAfter != monitoringAutomaticFailureRetryAfter {
|
||||
t.Fatalf("RetryAfter = %v, want %v", got.RetryAfter, monitoringAutomaticFailureRetryAfter)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMonitoringFailedResultOutcomeFailsAutomaticSecondFailure(t *testing.T) {
|
||||
got := monitoringFailedResultOutcomeForTask(&monitoringCollectTask{
|
||||
TriggerSource: "automatic",
|
||||
AutomaticFailureCount: monitoringAutomaticFailureMaxAttempts - 1,
|
||||
}, MonitoringTaskResultRequest{Status: "failed"})
|
||||
|
||||
if got.TaskStatus != "failed" {
|
||||
t.Fatalf("TaskStatus = %q, want failed", got.TaskStatus)
|
||||
}
|
||||
if got.Requeue {
|
||||
t.Fatal("Requeue = true, want false")
|
||||
}
|
||||
}
|
||||
|
||||
func TestMonitoringFailedResultOutcomeDoesNotRetryAuthorizationFailure(t *testing.T) {
|
||||
message := "登录态已失效,请重新授权后再试。"
|
||||
got := monitoringFailedResultOutcomeForTask(&monitoringCollectTask{
|
||||
TriggerSource: "automatic",
|
||||
AutomaticFailureCount: 0,
|
||||
}, MonitoringTaskResultRequest{
|
||||
Status: "failed",
|
||||
ErrorMessage: &message,
|
||||
})
|
||||
|
||||
if got.TaskStatus != "failed" {
|
||||
t.Fatalf("TaskStatus = %q, want failed", got.TaskStatus)
|
||||
}
|
||||
if got.Requeue {
|
||||
t.Fatal("Requeue = true, want false")
|
||||
}
|
||||
}
|
||||
|
||||
func TestMonitoringFailedResultOutcomeDoesNotRetryManualTask(t *testing.T) {
|
||||
got := monitoringFailedResultOutcomeForTask(&monitoringCollectTask{
|
||||
TriggerSource: "manual",
|
||||
AutomaticFailureCount: 0,
|
||||
}, MonitoringTaskResultRequest{Status: "failed"})
|
||||
|
||||
if got.TaskStatus != "failed" {
|
||||
t.Fatalf("TaskStatus = %q, want failed", got.TaskStatus)
|
||||
}
|
||||
if got.Requeue {
|
||||
t.Fatal("Requeue = true, want false")
|
||||
}
|
||||
}
|
||||
|
||||
func TestMonitoringAuthorizationFailureTargetClientPrefersExplicitTargetClient(t *testing.T) {
|
||||
targetClientID := uuid.New().String()
|
||||
task := &monitoringCollectTask{
|
||||
|
||||
Reference in New Issue
Block a user