Skip to content

Host-eligibility frontier scheduler + robots crawl-delay (ADR-0010) #75

Description

@filipeforattini

What to build

The Frontier pops the highest-priority Job among hosts whose next-allowed time has arrived, where next-allowed = max(rate-limiter floor, robots crawl-delay, cadence envelope), interleaving eligible hosts to avoid same-domain thrash. Per-host schedule state is persisted so a resumed Crawl preserves pacing; robots crawl-delay is parsed, persisted, and enforced. The same-host bias becomes a tiebreak within the eligible set. See ADR-0010.

Acceptance criteria

  • The next Job is chosen among eligible hosts (next-allowed reached), interleaving hosts.
  • robots crawl-delay is parsed, persisted, and enforced as an input to next-allowed.
  • Per-host schedule state persists so a resumed Crawl does not re-hammer hosts.
  • Tests cover eligibility ordering, crawl-delay enforcement, and absence of same-domain thrash.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    blocked:dependencyWaiting on other issues (req:N edges); auto-unblocks when the last dependency closesreq:62Blocked on #62req:74Blocked on #74

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions