mirror of
https://github.com/immich-app/immich.git
synced 2025-03-01 15:11:21 +01:00
35 lines
868 B
JavaScript
35 lines
868 B
JavaScript
#!/usr/bin/env node
|
|
import { ImmichWorker } from 'src/enum';
|
|
import { ConfigRepository } from 'src/repositories/config.repository';
|
|
|
|
const main = async () => {
|
|
const { host, workers, port } = new ConfigRepository().getEnv();
|
|
if (!workers.includes(ImmichWorker.API)) {
|
|
process.exit();
|
|
}
|
|
|
|
const controller = new AbortController();
|
|
const timeout = setTimeout(() => controller.abort(), 2000);
|
|
try {
|
|
const response = await fetch(`http://${host || 'localhost'}:${port}/api/server/ping`, {
|
|
signal: controller.signal,
|
|
});
|
|
|
|
if (response.ok) {
|
|
const body = await response.json();
|
|
if (body.res === 'pong') {
|
|
process.exit();
|
|
}
|
|
}
|
|
} catch (error) {
|
|
if (error instanceof DOMException === false) {
|
|
console.error(error);
|
|
}
|
|
} finally {
|
|
clearTimeout(timeout);
|
|
}
|
|
|
|
process.exit(1);
|
|
};
|
|
|
|
void main();
|