feat: add runner failover policies and traces

This commit is contained in:
2026-05-12 02:16:42 +08:00
parent be31923e74
commit 05632172d0
26 changed files with 2033 additions and 140 deletions
+20
View File
@@ -229,6 +229,20 @@ type RuntimePolicySet struct {
UpdatedAt time.Time `json:"updatedAt"`
}
type RunnerPolicy struct {
ID string `json:"id"`
PolicyKey string `json:"policyKey"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
FailoverPolicy map[string]any `json:"failoverPolicy,omitempty"`
HardStopPolicy map[string]any `json:"hardStopPolicy,omitempty"`
PriorityDemotePolicy map[string]any `json:"priorityDemotePolicy,omitempty"`
Metadata map[string]any `json:"metadata,omitempty"`
Status string `json:"status"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}
type PricingRule struct {
ID string `json:"id"`
RuleSetID string `json:"ruleSetId,omitempty"`
@@ -446,6 +460,7 @@ type TaskAttempt struct {
Retryable bool `json:"retryable"`
Simulated bool `json:"simulated"`
RequestID string `json:"requestId,omitempty"`
StatusCode int `json:"statusCode,omitempty"`
Usage map[string]any `json:"usage,omitempty"`
Metrics map[string]any `json:"metrics,omitempty"`
RequestSnapshot map[string]any `json:"requestSnapshot,omitempty"`
@@ -1796,6 +1811,11 @@ func IsUniqueViolation(err error) bool {
return isUniqueViolation(err)
}
func IsUndefinedDatabaseObject(err error) bool {
var pgErr *pgconn.PgError
return errors.As(err, &pgErr) && (pgErr.Code == "42P01" || pgErr.Code == "42703")
}
func isUniqueViolation(err error) bool {
var pgErr *pgconn.PgError
return errors.As(err, &pgErr) && pgErr.Code == "23505"