This commit is contained in:
Rizky
2024-01-25 13:32:34 +07:00
parent 5e8a44765b
commit 6959145d00
6 changed files with 91 additions and 26 deletions
+24 -24
View File
@@ -3,32 +3,10 @@ import { g } from "./global";
export const ensureNotRunning = async () => {
await new Promise<void>(async (resolve) => {
const checkPort = () => {
return new Promise<boolean>(async (done) => {
try {
const s = await connect({
hostname: "0.0.0.0",
port: g.port,
socket: {
open(socket) {},
data(socket, data) {},
close(socket) {},
drain(socket) {},
error(socket, error) {},
},
});
s.end();
done(false);
} catch (e) {
done(true);
}
});
};
if (!(await checkPort())) {
if (!(await checkPort(g.port))) {
g.log.warn(`Port ${g.port} is used, waiting...`);
setInterval(async () => {
if (await checkPort()) resolve();
if (await checkPort(g.port)) resolve();
}, 500);
} else {
resolve();
@@ -39,3 +17,25 @@ export const ensureNotRunning = async () => {
export function randomBetween(min: number, max: number) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
export const checkPort = (port: number) => {
return new Promise<boolean>(async (done) => {
try {
const s = await connect({
hostname: "0.0.0.0",
port,
socket: {
open(socket) {},
data(socket, data) {},
close(socket) {},
drain(socket) {},
error(socket, error) {},
},
});
s.end();
done(false);
} catch (e) {
done(true);
}
});
};