Skip to content

Launch hardening: drain the monitoring queue - #8

Merged
leopardracer merged 1 commit into
mainfrom
launch-hardening
Sep 27, 2026
Merged

leopardracer merged 1 commit into
mainfrom
launch-hardening

Conversation

@leopardracer

Copy link
Copy Markdown
Owner

Monitoring throughput (found live: 497/500 tokens overdue, ~38 checks/hour):

  • The monitoring loop now wakes every MONITORING_TICK_MS (20s) and drains due checks, instead of one small batch per POLL_INTERVAL_MS (5 min).
  • LOW-priority tokens still on their curve are re-checked every LOW_RECHECK_SECONDS (6h) instead of every 40 min: the activity sweep already promotes them to HIGH on their first trade. Graduated LOW tokens keep the short interval (the sweep can't see off-curve trades).

API under load:

  • GET /api/tokens/:address: concurrent live reads of the same token share one set of chain reads (SingleFlight); ?live=1 is ignored for reports younger than 60s; while the RPC breaker is open an older report is served (marked stale) instead of attempting a doomed live read.
  • GET /api/health: the chain ping is shared for 10s — every open dashboard polls it every 20s, and each poll used to cost its own eth_blockNumber.

Tests: 438 -> 449, all passing. Docs and test counts updated.

…ffic spikes

Monitoring throughput (found live: 497/500 tokens overdue, ~38 checks/hour):
- The monitoring loop now wakes every MONITORING_TICK_MS (20s) and drains
  due checks, instead of one small batch per POLL_INTERVAL_MS (5 min).
- LOW-priority tokens still on their curve are re-checked every
  LOW_RECHECK_SECONDS (6h) instead of every 40 min: the activity sweep
  already promotes them to HIGH on their first trade. Graduated LOW
  tokens keep the short interval (the sweep can't see off-curve trades).

API under load:
- GET /api/tokens/:address: concurrent live reads of the same token share
  one set of chain reads (SingleFlight); ?live=1 is ignored for reports
  younger than 60s; while the RPC breaker is open an older report is
  served (marked stale) instead of attempting a doomed live read.
- GET /api/health: the chain ping is shared for 10s — every open dashboard
  polls it every 20s, and each poll used to cost its own eth_blockNumber.

Tests: 438 -> 449, all passing. Docs and test counts updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RQ9FE7MSziVjgRrgr2GBZd
@vercel

vercel Bot commented Sep 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
fletch Ready Ready Preview Sep 27, 2026 7:51pm UTC

@leopardracer
leopardracer merged commit e860fed into main Sep 27, 2026
4 checks passed

This branch was successfully deployed

1 active deployment
Preview — 6e0a769c Deployed Sep 27, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants