feat: add scoped task source tracing and SDK examples

This commit is contained in:
2026-09-17 22:40:42 +08:00
parent 7641423f9d
commit 2b8213a4f7
26 changed files with 760 additions and 9 deletions

View File

@@ -126,6 +126,14 @@ func TestIntegrationTaskRecoverySDK(t *testing.T) {
if err != nil || !child.Deduplicated || child.Task.ID != retryEnvelope.Data.Task.ID || child.AuditID != retryEnvelope.Data.AuditID || child.Task.RetryOf == nil || *child.Task.RetryOf != unknown.ID {
t.Fatal(child, err)
}
lineage, err := api.GetTaskSource(ctx, child.Task.ID)
if err != nil || lineage.Kind != "MANUAL_RETRY" || lineage.RetryOf == nil || *lineage.RetryOf != unknown.ID || lineage.Schedule != nil {
t.Fatal("manual retry source", lineage, err)
}
originalSource, err := api.GetTaskSource(ctx, unknown.ID)
if err != nil || originalSource.Kind != "DIRECT" || originalSource.RetryOf != nil {
t.Fatal("direct source", originalSource, err)
}
assigned, err := w.NextAssignment(ctx)
if err != nil || assigned.Task.ID != child.Task.ID || assigned.Task.RetryOf == nil || *assigned.Task.RetryOf != unknown.ID {
t.Fatal("wire lost retry lineage", assigned, err)