Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Завершается сбоем запросов со случайной выбранной ошибкой из файла, содержащего измеченные ошибки.
Пример конфигурации
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.2.0/rc.schema.json",
"plugins": [
{
"name": "GenericRandomErrorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "genericRandomErrorPlugin"
}
],
"urlsToWatch": [
"https://api.openai.com/*"
],
"genericRandomErrorPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.2.0/genericrandomerrorplugin.schema.json",
"errorsFile": "errors.json"
}
}
Свойства конфигурации
| Свойство | Описание | По умолчанию |
|---|---|---|
errorsFile |
Путь к файлу, который содержит ответы на ошибки. | Нет по умолчанию |
rate |
Процент запросов на сбой со случайной ошибкой. Значение от 0 до 100. | 50 |
retryAfterInSeconds |
Количество секунд, ожидающих повторных попыток запроса. Включен в заголовок ответа Retry-After для динамического регулирования. |
5 |
Параметры командной строки
| Имя | Описание | По умолчанию |
|---|---|---|
-f, --failure-rate <failure rate> |
Процент запросов на сбой со случайной ошибкой. Значение от 0 до 100. | 50 |
Замечания
Значения для ответа Retry-After
По умолчанию Retry-After заголовок использует глобальное retryAfterInSeconds значение. Это значение можно переопределить на основе каждого ответа с помощью @dynamic=N синтаксиса в файле ответов об ошибках, где N количество секунд, которое нужно ожидать перед повторным повтором.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.2.0/genericrandomerrorplugin.errorsfile.schema.json",
"errors": [
{
"request": {
"url": "https://api.openai.com/*"
},
"responses": [
{
"statusCode": 429,
"headers": [
{
"name": "Retry-After",
"value": "@dynamic=17"
}
],
"body": {
"error": {
"message": "Rate limit exceeded. Wait 17 seconds."
}
}
}
]
}
]
}
В этом примере Retry-After заголовок использует 17 секунды для этого ответа независимо от глобального retryAfterInSeconds параметра. Значение увеличивается для каждого последующего регулирования запроса, как и с обычным @dynamic маркером.