feat: add scoped task source tracing and SDK examples
This commit is contained in:
@@ -177,6 +177,14 @@ func run() error {
|
||||
if _, err := w.Capacity(ctx, id, orbit.WorkerCapacity{Sequence: 2, Drain: true}); err != nil {
|
||||
return err
|
||||
}
|
||||
lineage, err := client.GetTaskSource(ctx, child.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if lineage.Kind != "MANUAL_RETRY" || lineage.RetryOf == nil || *lineage.RetryOf != original.ID {
|
||||
return errors.New("manual retry source mismatch")
|
||||
}
|
||||
fmt.Printf("source_kind=%s parent=%s\n", lineage.Kind, *lineage.RetryOf)
|
||||
fmt.Printf("source=%s state=%s retry=%s state=%s audit=%s operations=%d\n", original.ID, original.State, child.ID, child.State, audit.ID, len(page.Items))
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -99,6 +99,14 @@ func run() error {
|
||||
return err
|
||||
}
|
||||
if task.State == orbit.TaskSucceeded {
|
||||
origin, err := client.GetTaskSource(ctx, task.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if origin.Kind != "SCHEDULE" || origin.Schedule == nil || origin.Schedule.ScheduleID != created.Schedule.ID || origin.Schedule.OccurrenceID != item.ID || origin.Schedule.ScheduleVersion != item.ScheduleVersion {
|
||||
return errors.New("task source did not match frozen occurrence")
|
||||
}
|
||||
fmt.Printf("source_kind=%s fixed_version=%d\n", origin.Kind, origin.Schedule.ScheduleVersion)
|
||||
completed[task.ID] = true
|
||||
fmt.Printf("schedule=%s occurrence=%s task=%s version=%d state=%s\n", created.Schedule.ID, item.ID, task.ID, item.ScheduleVersion, task.State)
|
||||
}
|
||||
|
||||
@@ -79,6 +79,14 @@ func run() error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
origin, err := client.GetTaskSource(ctx, current.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if origin.Kind != "DIRECT" {
|
||||
return fmt.Errorf("expected direct task source")
|
||||
}
|
||||
fmt.Printf("source_kind=%s\n", origin.Kind)
|
||||
fmt.Printf("task=%s duplicate=%t listed=%d final_state=%s revision=%d\n", current.ID, again.Deduplicated, len(page.Items), cancelled.Task.State, cancelled.Task.Revision)
|
||||
if cancelled.Task.State != orbit.TaskCancelled {
|
||||
return fmt.Errorf("expected CANCELLED")
|
||||
|
||||
Reference in New Issue
Block a user