mirror of https://github.com/immich-app/immich.git
refactor(server): worker env (#13160)
parent
892a35acb5
commit
db1623f43f
@ -1,3 +1,3 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
node /usr/src/app/dist/utils/healthcheck.js
|
node /usr/src/app/dist/bin/healthcheck.js
|
||||||
|
|||||||
@ -1,12 +1,14 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
const port = Number(process.env.IMMICH_PORT) || 3001;
|
import { ImmichWorker } from 'src/enum';
|
||||||
const controller = new AbortController();
|
import { ConfigRepository } from 'src/repositories/config.repository';
|
||||||
|
|
||||||
const main = async () => {
|
const main = async () => {
|
||||||
if (!process.env.IMMICH_WORKERS_INCLUDE?.includes('api')) {
|
const { workers, port } = new ConfigRepository().getEnv();
|
||||||
|
if (!workers.includes(ImmichWorker.API)) {
|
||||||
process.exit();
|
process.exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const controller = new AbortController();
|
||||||
const timeout = setTimeout(() => controller.abort(), 2000);
|
const timeout = setTimeout(() => controller.abort(), 2000);
|
||||||
try {
|
try {
|
||||||
const response = await fetch(`http://localhost:${port}/api/server-info/ping`, {
|
const response = await fetch(`http://localhost:${port}/api/server-info/ping`, {
|
||||||
@ -1,4 +1,6 @@
|
|||||||
import { getWorkers } from 'src/utils/workers';
|
import { ConfigRepository } from 'src/repositories/config.repository';
|
||||||
|
|
||||||
|
const getWorkers = () => new ConfigRepository().getEnv().workers;
|
||||||
|
|
||||||
describe('getWorkers', () => {
|
describe('getWorkers', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
@ -1,21 +0,0 @@
|
|||||||
const WORKER_TYPES = new Set(['api', 'microservices']);
|
|
||||||
|
|
||||||
export const getWorkers = () => {
|
|
||||||
let workers = ['api', 'microservices'];
|
|
||||||
const includedWorkers = process.env.IMMICH_WORKERS_INCLUDE?.replaceAll(/\s/g, '');
|
|
||||||
const excludedWorkers = process.env.IMMICH_WORKERS_EXCLUDE?.replaceAll(/\s/g, '');
|
|
||||||
|
|
||||||
if (includedWorkers) {
|
|
||||||
workers = includedWorkers.split(',');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (excludedWorkers) {
|
|
||||||
workers = workers.filter((worker) => !excludedWorkers.split(',').includes(worker));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (workers.some((worker) => !WORKER_TYPES.has(worker))) {
|
|
||||||
throw new Error(`Invalid worker(s) found: ${workers}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
return workers;
|
|
||||||
};
|
|
||||||
Loading…
Reference in New Issue