From bc4948442d8eb571ca94fd79898c19b6c204d591 Mon Sep 17 00:00:00 2001 From: demo Date: Sat, 23 May 2026 10:20:24 -0400 Subject: feat: add semaphore to throttle concurrent GET requests --- main.go | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'main.go') diff --git a/main.go b/main.go index db53d69..ed203d5 100644 --- a/main.go +++ b/main.go @@ -32,6 +32,8 @@ func main() { worklist <- []url.URL{*startURL} }() + sem := make(chan struct{}, *maxConcurrency) + seen := make(map[url.URL]bool) for list := range worklist { for _, u := range list { @@ -40,6 +42,9 @@ func main() { seen[u] = true go func() { + sem <- struct{}{} + defer func() { <-sem }() + worklist <- crawl(u) }() } -- cgit v1.2.3