Skip to content

fix(basic): settle teardown during crawler startup - #4094

Open
miakh wants to merge 4 commits into
apify:masterfrom
miakh:fix/4080-teardown-during-startup
Open

fix(basic): settle teardown during crawler startup#4094
miakh wants to merge 4 commits into
apify:masterfrom
miakh:fix/4080-teardown-during-startup

Conversation

@miakh

@miakh miakh commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Summary

  • remember teardown() requests across the whole BasicCrawler.run() initialization phase
  • avoid starting an AutoscaledPool after teardown has already completed
  • cover teardown both before and after pool creation with crawler-owned and injected concurrency systems
  • verify teardown before run() does not affect the next run

The cancellation state belongs to BasicCrawler, which owns the complete run() / teardown() lifecycle. This keeps AutoscaledPool behavior unchanged.

Validation

  • pnpm vitest run test/core/crawlers/basic_crawler.test.ts --silent (160 passed)
  • pnpm exec tsc --noEmit --project test/tsconfig.json
  • pnpm --filter @crawlee/basic compile
  • pnpm format:check

Closes #4080

@janbuchar
janbuchar self-requested a review September 1, 2026 14:37
…-during-startup

# Conflicts:
#	packages/basic-crawler/src/internals/basic-crawler.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BasicCrawler.teardown() during startup can reject or leave run() pending

3 participants