docs: update project docs for weighted proxy selection
Add selection weight section to USAGE.md with decay formula and reference table. Mark feature complete in ROADMAP and TASKS. Update README and PROJECT descriptions.
This commit is contained in:
@@ -89,7 +89,8 @@ into the container. Edit locally, restart to pick up changes.
|
||||
## Proxy Pool
|
||||
|
||||
Managed proxy pool with multiple sources, health testing, and persistence.
|
||||
Appends a random alive proxy after the static chain on each connection.
|
||||
Appends an alive proxy after the static chain on each connection, weighted
|
||||
by recency of last successful health test.
|
||||
|
||||
```yaml
|
||||
proxy_pool:
|
||||
@@ -133,6 +134,20 @@ After `max_fails` consecutive failures, a proxy is evicted.
|
||||
Mass-failure guard: if >90% of tests fail in one cycle, eviction is skipped
|
||||
(likely the static chain is broken, not the proxies).
|
||||
|
||||
### Selection weight
|
||||
|
||||
Alive proxies are selected with probability proportional to their recency
|
||||
weight: `1 / (1 + age / 300)`, where `age` is seconds since the last
|
||||
successful health test. This favors freshly-verified proxies over stale ones:
|
||||
|
||||
| Age | Weight |
|
||||
|-----|--------|
|
||||
| 0 s (just tested) | ~1.0 |
|
||||
| 5 min | ~0.5 |
|
||||
| 10 min | ~0.33 |
|
||||
| 30 min | ~0.1 |
|
||||
| Never tested | 0.01 |
|
||||
|
||||
### Persistence
|
||||
|
||||
Pool state is saved to `state_file` (default: `~/.cache/s5p/pool.json`) after
|
||||
|
||||
Reference in New Issue
Block a user