Fix Kobold retry logic

This commit is contained in:
Cohee
2023-06-12 22:32:20 +03:00
parent 0007addbd9
commit 88fadce5c6

View File

@@ -385,8 +385,8 @@ app.post("/generate", jsonParser, async function (request, response_generate = r
headers: { "Content-Type": "application/json" }, headers: { "Content-Type": "application/json" },
}; };
const MAX_RETRIES = 10; const MAX_RETRIES = 20;
const delayAmount = 3000; const delayAmount = 5000;
for (let i = 0; i < MAX_RETRIES; i++) { for (let i = 0; i < MAX_RETRIES; i++) {
try { try {
const data = await postAsync(api_server + "/v1/generate", args); const data = await postAsync(api_server + "/v1/generate", args);
@@ -400,11 +400,14 @@ app.post("/generate", jsonParser, async function (request, response_generate = r
} }
// response // response
switch (error.statusCode) { switch (error.status) {
case 403:
case 503: case 503:
console.debug(`KoboldAI is busy. Retry attempt ${i+1} of ${MAX_RETRIES}...`);
await delay(delayAmount); await delay(delayAmount);
break; break;
default: default:
console.log('Status Code from Kobold:', error.status);
return response_generate.send({ error: true }); return response_generate.send({ error: true });
} }
} }
@@ -3120,7 +3123,7 @@ async function postAsync(url, args) {
return data; return data;
} }
throw new Error(response); throw response;
} }
function getAsync(url, args) { function getAsync(url, args) {