feat: watchdog на первый байт стрима (first_byte_timeout) — фейловер + backoff при молчании апстрима
This commit is contained in:
@@ -1,4 +1,17 @@
|
||||
package pw.binom.llmproxy
|
||||
|
||||
import kotlin.time.Duration
|
||||
import kotlin.time.Duration.Companion.seconds
|
||||
|
||||
/** Предел времени на весь запрос к апстриму, мс: от отправки до приёма всего ответа (включая стриминг). */
|
||||
const val UPSTREAM_REQUEST_TIMEOUT_MS: Long = 5 * 60_000L
|
||||
|
||||
/**
|
||||
* Default «watchdog» на первый байт тела стрим-ответа: если апстрим не прислал
|
||||
* ни одного байта за это время, прокси считает это сбоем апстрима и
|
||||
* фейловерит (освобождает слот конкурентности, считает ошибку в backoff и
|
||||
* идёт к следующему апстриму модели). Применяется ТОЛЬКО к stream=true
|
||||
* запросам; для non-stream работает общий [UPSTREAM_REQUEST_TIMEOUT_MS].
|
||||
* Отключается явным `first_byte_timeout: PT0S` на апстриме или провайдере.
|
||||
*/
|
||||
val DEFAULT_FIRST_BYTE_TIMEOUT: Duration = 30.seconds
|
||||
|
||||
Reference in New Issue
Block a user