OpenAI throttling vs overload: handle 429 and 503 as different errors with different codes | Vectle