(ctx context.Context, previous Run)
| 459 | } |
| 460 | |
| 461 | func (m *Service) invalidateForceRunInputs(ctx context.Context, previous Run) (int64, int, error) { |
| 462 | sessionID := strings.TrimSpace(previous.SessionID) |
| 463 | if sessionID == "" { |
| 464 | return 0, 0, nil |
| 465 | } |
| 466 | queueStore, ok := m.store.(inputQueueGenerationStore) |
| 467 | if !ok { |
| 468 | return 0, 0, nil |
| 469 | } |
| 470 | now := m.now().UTC() |
| 471 | generation, err := queueStore.AdvanceSessionInputGeneration(ctx, sessionID, now) |
| 472 | if err != nil { |
| 473 | return 0, 0, fmt.Errorf("task: advance input generation for force operation on session %q: %w", sessionID, err) |
| 474 | } |
| 475 | canceled, err := queueStore.CancelPendingSessionInputs(ctx, sessionID, generation, now) |
| 476 | if err != nil { |
| 477 | return 0, 0, fmt.Errorf( |
| 478 | "task: cancel stale input generation for force operation on session %q: %w", |
| 479 | sessionID, |
| 480 | err, |
| 481 | ) |
| 482 | } |
| 483 | return generation, canceled, nil |
| 484 | } |
| 485 | |
| 486 | func requireForceFailStatus(run Run) error { |
| 487 | switch run.Status.Normalize() { |
no test coverage detected