prop/lib
Graham McIntire 1591ac740d
feat(cache): jitter ScoreCacheReconciler sweep interval to avoid thundering herd
Every pod was rescheduling its sweep on a fixed 60 s `Process.send_after`
tick, so N replicas hit the shared NFS `/data/scores` mount and Postgres
in lock-step every minute. Add a uniform jitter of up to 20 s on top of
the 60 s base (effective range 60-80 s) so per-replica schedules drift
apart.

Expose `next_sweep_interval/0,2` as a public helper so the randomized
window can be tested deterministically with `:rand` draws rather than
mocking timers. Existing reschedule test passes `jitter_max_ms: 0` to
keep its 2 s wait window honest.
2026-04-21 14:12:31 -05:00
..
microwaveprop feat(cache): jitter ScoreCacheReconciler sweep interval to avoid thundering herd 2026-04-21 14:12:31 -05:00
microwaveprop_web fix(security): only trust forwarded-ip headers from known proxies 2026-04-21 13:19:52 -05:00
mix/tasks fix(build): inline dep-patch logic into mix.exs so it runs during deps.get 2026-04-21 14:06:24 -05:00
microwaveprop.ex initial 2026-03-28 11:28:47 -05:00
microwaveprop_web.ex Merge auth links into main nav and lower password min to 8 2026-04-08 10:39:51 -05:00