Borg/pkg/github
google-labs-jules[bot] 05bfafad2b feat: Add parallel collection and rate limiting
This commit introduces parallel collection capabilities to the `borg` CLI, significantly improving the performance of large-scale data collection.

Key features and changes include:

- **Parallel Downloads:** A `--parallel` flag has been added to the `collect github repos` and `collect website` commands, allowing users to specify the number of concurrent workers for downloading and processing.

- **Rate Limiting:** A `--rate-limit` flag has been added to the `collect website` command to control the maximum number of requests per second to a single domain, preventing the crawler from overwhelming servers.

- **Graceful Shutdown:** The worker pools now respect context cancellation, allowing for a graceful shutdown on interrupt (e.g., Ctrl+C). This improves the user experience for long-running collection tasks.

- **Refactored Downloaders:** The `github` and `website` downloaders have been refactored to use a robust worker pool pattern, with proper synchronization primitives to ensure thread safety.

Co-authored-by: Snider <631881+Snider@users.noreply.github.com>
2026-02-02 01:10:20 +00:00
..
downloader.go feat: Add parallel collection and rate limiting 2026-02-02 01:10:20 +00:00
github.go feat: Add _Good, _Bad, and _Ugly tests 2025-11-14 10:36:35 +00:00
github_test.go feat: Add _Good, _Bad, and _Ugly tests 2025-11-14 10:36:35 +00:00
release.go feat: Improve test coverage and refactor for testability 2025-11-03 16:31:26 +00:00
release_test.go feat: Bug fixes and refactoring 2025-11-03 20:14:47 +00:00