Skip to content

fix: unref BrowserController.close() fallback timer to avoid keeping Node alive longer than needed#3671

Open
simshaun wants to merge 1 commit into
apify:masterfrom
simshaun:browser-pool-close-unref
Open

fix: unref BrowserController.close() fallback timer to avoid keeping Node alive longer than needed#3671
simshaun wants to merge 1 commit into
apify:masterfrom
simshaun:browser-pool-close-unref

Conversation

@simshaun
Copy link
Copy Markdown

Summary

This PR fixes an event-loop retention issue in browser-pool where BrowserController.close() schedules a 5 second fallback kill timer that can keep Node alive after crawl work has already finished.

The timer is created and left referenced. This change keeps the fallback behavior intact but calls unref() on that timer so it does not block process exit.

Why this is needed

In current behavior, a minimal crawl can complete and all user work can be done, but process exit is delayed due to the fallback timer.

Minimal reproduction

Run any short crawler that exits immediately after crawler.run() and cleanup. Observe that process exit occurs ~5 seconds later than expected.

@simshaun simshaun changed the title [browser-pool] unref BrowserController.close() fallback timer to avoid keeping Node alive longer than needed fix: unref BrowserController.close() fallback timer to avoid keeping Node alive longer than needed May 22, 2026
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.

2 participants