Add batch-llm module: 100,000 synthetic tickets classified by a ChatClient in a Spring Batch 6 chunk step with Resilience4j rate limiting and retry, skip-and-record for malformed JSON, restart after kill -9 in a second JVM, and a per-chunk cost ledger. The model is a deterministic simulated ChatModel; prices are configurable placeholders. No provider called.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_017ic4b4VQVEJWetTT1dYzyJ
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
# 4,000 tickets against a simulated quota of 800 calls per second
|
||||
|
||||
Both runs: 64 virtual threads, Resilience4j retry max 4 attempts, 25 ms x2 backoff, the same fault plan.
|
||||
Time is indicative only (shared 2-vCPU sandbox, other processes running).
|
||||
|
||||
scenario ok bad JSON exhausted calls quota 429s retries seconds
|
||||
no limiter 3066 13 921 7,596 4,396 3,543 3.5
|
||||
limiter 600/s 3986 14 0 4,146 0 85 6.9
|
||||
|
||||
'exhausted' = tickets whose 4 attempts all met a 429/503: with a step around this call, the step fails.
|
||||
'calls' counts every attempt the provider received, rejected or not.
|
||||
Reference in New Issue
Block a user