Fault-Tolerant Daemon Architecture
Handling Connection Reset by Peer
Published: 2026-06-20 | Project: BayesianPivot | Discipline: Distributed Systems & High-Throughput State
Author: Nicholas Alexander MacAskill — Founder & CTO, Flocano Labs | Canonical: https://www.nicholasmacaskill.com/dossier/bp-daemon
System Resilience: Fault-Tolerant Daemon Architecture
The Problem
During volatile sessions, network disruptions during Supabase queries or broker API syncs threw [Errno 54] Connection reset by peer exceptions. In the initial build, these errors crashed the runner daemon (local_scanner.py), taking the scanner offline and leaving trades unmonitored.
The Solution
The database synchronization and execution audit cycles (execution_audit.py) run inside retry wrappers and robust try/except handlers.
# execution_audit.py - Database Retry Loop
async def robust_sync_to_supabase(data, max_retries=3):
for attempt in range(max_retries):
try:
await db.supabase.table("signed_ledger").insert(data).execute()
return True
except Exception as e:
logger.warning(f"DB sync attempt {attempt+1} failed: {e}")
await asyncio.sleep(2 ** attempt) # Exponential backoff
logger.error("DB sync failed after max retries. Saving to local SQLite.")
await save_local_sqlite(data)Result: The daemon handles network disconnects gracefully. If an API socket drops, the system logs the event, holds active states, and automatically resumes on the next cycle, ensuring 99.9% uptime.