Skip to content

ThrottlingRequestManager silently does nothing in two configurations #2126

Description

@janbuchar

Both cases look identical to a working setup unless you're watching request timings. From #1762.

  • With retry_on_blocked=False, _raise_for_session_blocked_status_code is never called, so record_domain_delay never runs and every 429 is ignored.
  • Behind a RequestManagerTandem — e.g. request_list.to_tandem(throttler) — the isinstance(self._request_manager, ThrottlingRequestManager) checks in BasicCrawler all miss. 429 backoff and robots.txt crawl-delay are both dropped, and the "you are not using ThrottlingRequestManager" warning fires at you while you are. The TS port works around this by forwarding record_domain_delay/set_crawl_delay through the tandem.

#1762 added a fair amount of warning machinery for the other misconfigurations; these two slip past all of it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working.t-toolingIssues with this label are in the ownership of the tooling team.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions