Merge pull request #975 from janhq/fix/kill_nitro
feat: Kill nitro process with API - nitro 0.1.27
This commit is contained in:
commit
b3405a6fdc
@ -1 +1 @@
|
|||||||
0.1.26
|
0.1.27
|
||||||
|
|||||||
@ -15,6 +15,7 @@ const NITRO_HTTP_SERVER_URL = `http://${LOCAL_HOST}:${PORT}`;
|
|||||||
const NITRO_HTTP_LOAD_MODEL_URL = `${NITRO_HTTP_SERVER_URL}/inferences/llamacpp/loadmodel`;
|
const NITRO_HTTP_LOAD_MODEL_URL = `${NITRO_HTTP_SERVER_URL}/inferences/llamacpp/loadmodel`;
|
||||||
const NITRO_HTTP_UNLOAD_MODEL_URL = `${NITRO_HTTP_SERVER_URL}/inferences/llamacpp/unloadModel`;
|
const NITRO_HTTP_UNLOAD_MODEL_URL = `${NITRO_HTTP_SERVER_URL}/inferences/llamacpp/unloadModel`;
|
||||||
const NITRO_HTTP_VALIDATE_MODEL_URL = `${NITRO_HTTP_SERVER_URL}/inferences/llamacpp/modelstatus`;
|
const NITRO_HTTP_VALIDATE_MODEL_URL = `${NITRO_HTTP_SERVER_URL}/inferences/llamacpp/modelstatus`;
|
||||||
|
const NITRO_HTTP_KILL_URL = `${NITRO_HTTP_SERVER_URL}/processmanager/destroy`;
|
||||||
|
|
||||||
// The subprocess instance for Nitro
|
// The subprocess instance for Nitro
|
||||||
let subprocess = null;
|
let subprocess = null;
|
||||||
@ -187,13 +188,15 @@ async function validateModelStatus(): Promise<ModelOperationResponse> {
|
|||||||
* @returns A Promise that resolves when the subprocess is terminated successfully, or rejects with an error message if the subprocess fails to terminate.
|
* @returns A Promise that resolves when the subprocess is terminated successfully, or rejects with an error message if the subprocess fails to terminate.
|
||||||
*/
|
*/
|
||||||
function killSubprocess(): Promise<void> {
|
function killSubprocess(): Promise<void> {
|
||||||
if (subprocess) {
|
fetch(NITRO_HTTP_KILL_URL, {
|
||||||
subprocess.kill();
|
method: "DELETE",
|
||||||
|
}).catch((err) => {
|
||||||
|
console.error(err);
|
||||||
|
subprocess?.kill();
|
||||||
|
kill(PORT, "tcp").then(console.log).catch(console.log);
|
||||||
subprocess = null;
|
subprocess = null;
|
||||||
console.debug("Subprocess terminated.");
|
});
|
||||||
} else {
|
return
|
||||||
return kill(PORT, "tcp").then(console.log).catch(console.log);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -207,9 +210,6 @@ async function checkAndUnloadNitro() {
|
|||||||
// Attempt to unload model
|
// Attempt to unload model
|
||||||
return fetch(NITRO_HTTP_UNLOAD_MODEL_URL, {
|
return fetch(NITRO_HTTP_UNLOAD_MODEL_URL, {
|
||||||
method: "GET",
|
method: "GET",
|
||||||
headers: {
|
|
||||||
"Content-Type": "application/json",
|
|
||||||
},
|
|
||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
// Fallback to kill the port
|
// Fallback to kill the port
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user