Reconnect when RIS Live ends or stalls the stream (closes #53)
check / check (push) Waiting to run
check / check (push) Waiting to run
Only Stop now ends the reconnect loop. A stream that ends any other way, with or without an error, marks the feed disconnected and reconnects with the existing backoff. Before, a response RIS Live ended normally stopped the loop for good while the health check kept reporting ok. The streamer also drops the connection when no line arrives for 60 seconds; each line starts that limit over, and it also bounds the wait for RIS Live to answer. The idle limit and the first backoff delay are fields so the tests, against a local server, run in well under a second. The README's Reconnection note describes this behaviour. Model: opus-5-5
This commit is contained in:
@@ -141,7 +141,10 @@ routewatch/
|
||||
- **Batched Writes**: All database operations are batched for performance
|
||||
- **Backpressure**: Probabilistic message dropping when queues exceed 50% capacity
|
||||
- **Graceful Shutdown**: 60-second timeout, flushes all pending batches
|
||||
- **Reconnection**: Exponential backoff (5s-320s) with reset after 30s of stable connection
|
||||
- **Reconnection**: Any end of the stream other than shutdown, including RIS Live
|
||||
ending the response normally, marks the feed disconnected and reconnects with
|
||||
exponential backoff (5s-320s). The backoff resets after a stream that lasted
|
||||
more than 30s. A stream with no line for 60s is dropped and reconnected.
|
||||
- **IP Lookup**: the most specific live route is found by looking up the
|
||||
address's prefix at each mask length, longest first, in the prefix index
|
||||
(at most 33 lookups for IPv4, 129 for IPv6); prefixes are stored in the
|
||||
|
||||
Reference in New Issue
Block a user