Borg/examples
google-labs-jules[bot] 2ff65938ca feat: Circuit breaker for failing domains
Implement a circuit breaker for the website collector to prevent hammering domains that are consistently failing.

The circuit breaker has three states: CLOSED, OPEN, and HALF-OPEN. It tracks failures per-domain and will open the circuit after a configurable number of consecutive failures. After a cooldown period, the circuit will transition to HALF-OPEN and allow a limited number of test requests to check for recovery.

The following command-line flags have been added to the `collect website` command:
- `--no-circuit-breaker`: Disable the circuit breaker
- `--circuit-failures`: Number of failures to trip the circuit breaker
- `--circuit-cooldown`: Cooldown time for the circuit breaker
- `--circuit-success-threshold`: Number of successes to close the circuit breaker
- `--circuit-half-open-requests`: Number of test requests in the half-open state

The implementation also includes:
- A new `circuitbreaker` package with the core logic
- Integration into the `website` package with per-domain tracking
- Improved logging to include the domain name and state changes
- Integration tests to verify the circuit breaker's behavior

Co-authored-by: Snider <631881+Snider@users.noreply.github.com>
2026-02-02 00:59:38 +00:00
..
all feat: Implement Go examples and refactor matrix execution 2025-11-14 11:12:15 +00:00
collect_github_release feat: Implement Go examples and refactor matrix execution 2025-11-14 11:12:15 +00:00
collect_github_repo feat: Implement Go examples and refactor matrix execution 2025-11-14 11:12:15 +00:00
collect_github_repos feat: Add placeholder examples for all features 2025-11-13 19:38:23 +00:00
collect_pwa feat: Implement Go examples and refactor matrix execution 2025-11-14 11:12:15 +00:00
collect_website feat: Circuit breaker for failing domains 2026-02-02 00:59:38 +00:00
create_tim_programmatically feat: Add trix encryption and format 2025-11-14 13:47:27 +00:00
encrypt_media feat: Add dapp.fm native desktop player (Wails) 2026-01-06 18:42:30 +00:00
failures feat: SMSG v2 binary format with zstd compression + RFC-001 spec 2026-01-10 19:57:33 +00:00
formats feat: SMSG v2 binary format with zstd compression + RFC-001 spec 2026-01-10 19:57:33 +00:00
inspect_datanode feat: Add programmatic examples for matrix creation and execution 2025-11-13 19:27:12 +00:00
run_tim_programmatically feat: Add trix encryption and format 2025-11-14 13:47:27 +00:00
serve feat: Implement Go examples and refactor matrix execution 2025-11-14 11:12:15 +00:00
smsg-reply feat: Add STMF form encryption and SMSG secure message packages 2025-12-27 00:49:07 +00:00
collect_github_repo.sh feat: Add documentation and examples 2025-11-02 12:23:25 +00:00
collect_pwa.sh feat: Add documentation and examples 2025-11-02 12:23:25 +00:00
collect_website.sh feat: Add documentation and examples 2025-11-02 12:23:25 +00:00
compress_datanode.sh feat: Add optional compression to collect commands 2025-11-02 13:27:04 +00:00
create_tim.sh feat: Add trix encryption and format 2025-11-14 13:47:27 +00:00
demo-sample.smsg fix: mobile scrolling + clean up mkdemo hardcoded values 2026-01-12 15:35:13 +00:00
serve_tim.sh feat: Add trix encryption and format 2025-11-14 13:47:27 +00:00