refactor(tcp): added in a destory function to make sure we always disconnect from the tcp device

This commit is contained in:
2025-04-24 21:25:31 -05:00
parent ead63d4b41
commit 1b90129516
4 changed files with 59 additions and 2 deletions

View File

@@ -38,9 +38,28 @@ export const triggerScanner = async () => {
createLog("info", "wrapperScanner", "ocme", `Triggered`);
camera.write("TRIGGER", "utf8");
camera.end();
setTimeout(() => {
if (!camera.destroyed) {
camera.destroy();
}
}, 500);
resolve({ success: true, message: "Camera was triggered." });
});
camera.on("end", () => {
setTimeout(() => {
if (!camera.destroyed) {
createLog(
"info",
"ocme",
"ocme",
`Ocme Camera was destroyed, on trigger status`
);
camera.destroy();
}
}, 1000);
});
camera.on("error", (error) => {
createLog("error", "wrapperScanner", "ocme", `${error}`);
resolve({
@@ -50,7 +69,5 @@ export const triggerScanner = async () => {
)}`,
});
});
resolve({ success: true, message: "Camera was triggered." });
});
};

View File

@@ -42,6 +42,20 @@ export const pausePrinter = async (printerData: any) => {
});
});
pause.on("end", () => {
setTimeout(() => {
if (!pause.destroyed) {
createLog(
"info",
"printerState",
"ocp",
`${printerData.name}: was force closed, in pausing trigger`
);
pause.destroy();
}
}, 1000);
});
resolve({
success: true,
message: `${

View File

@@ -45,6 +45,20 @@ export const unPausePrinter = async (printerData: any) => {
});
});
pause.on("end", () => {
setTimeout(() => {
if (!pause.destroyed) {
createLog(
"info",
"printerState",
"ocp",
`${printerData.name}: was force closed, in unpause menu`
);
pause.destroy();
}
}, 1000);
});
resolve({
success: true,
message: `${

View File

@@ -74,11 +74,23 @@ export const startTCPServer = () => {
socket.on("end", () => {
createLog("debug", "tcp", "tcp", "Client disconnected");
// just in case we dont fully disconnect
setTimeout(() => {
if (!socket.destroyed) {
socket.destroy();
}
}, 1000);
tcpSockets.delete(socket);
});
socket.on("error", (err: Error) => {
createLog("info", "tcp", "tcp", `Socket error:", ${err}`);
// just in case we dont fully disconnect
setTimeout(() => {
if (!socket.destroyed) {
socket.destroy();
}
}, 1000);
tcpSockets.delete(socket);
});
});