-
Stefy Lanza (nextime / spora ) authored
Observed through the 3.3 h ban: REST reads kept working, but every REST write (create, and a body-less DELETE) failed with 500 "unexpected end of JSON input". REST writes appear to go through RunPod's GraphQL backend and share its rate limit, so REST cannot rent around a ban. The fix is not to earn one. - wait_ready polled GraphQL get_pod every 5 s per booting pod, which is hundreds of calls a minute in a 64-pod scale-up. Direct-TCP pods (the default) now poll REST and open a TCP connect to the mapped port. RunPod refuses that connect until the server inside listens, which is a stronger signal than GraphQL listing the port at container start. GraphQL stays the fallback outside a ban. - list_pods (the reaper and the survivor sweep, every minute) is REST-first, with includeMachine=true. Card name and VRAM come from the catalogue. - GraphQL calls are counted by operation and the rate is logged every 10 min, so the volume is visible before RunPod bans the key. - A REST write that fails this way during a ban says why. Co-Authored-By:
Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KnfkxBpcZ1v6ypRFFyhrVM
71ec814e