mirror of
https://github.com/immich-app/immich
synced 2025-11-14 17:36:12 +00:00
refactor(server): worker env (#13160)
This commit is contained in:
parent
892a35acb5
commit
db1623f43f
10 changed files with 63 additions and 58 deletions
|
|
@ -2,20 +2,15 @@ import { CommandFactory } from 'nest-commander';
|
|||
import { fork } from 'node:child_process';
|
||||
import { Worker } from 'node:worker_threads';
|
||||
import { ImmichAdminModule } from 'src/app.module';
|
||||
import { LogLevel } from 'src/enum';
|
||||
import { getWorkers } from 'src/utils/workers';
|
||||
const immichApp = process.argv[2] || process.env.IMMICH_APP;
|
||||
import { ImmichWorker, LogLevel } from 'src/enum';
|
||||
import { ConfigRepository } from 'src/repositories/config.repository';
|
||||
|
||||
if (process.argv[2] === immichApp) {
|
||||
const immichApp = process.argv[2];
|
||||
if (immichApp) {
|
||||
process.argv.splice(2, 1);
|
||||
}
|
||||
|
||||
async function bootstrapImmichAdmin() {
|
||||
process.env.IMMICH_LOG_LEVEL = LogLevel.WARN;
|
||||
await CommandFactory.run(ImmichAdminModule);
|
||||
}
|
||||
|
||||
function bootstrapWorker(name: string) {
|
||||
function bootstrapWorker(name: ImmichWorker) {
|
||||
console.log(`Starting ${name} worker`);
|
||||
|
||||
const execArgv = process.execArgv.map((arg) => (arg.startsWith('--inspect') ? '--inspect=0.0.0.0:9231' : arg));
|
||||
|
|
@ -35,26 +30,27 @@ function bootstrapWorker(name: string) {
|
|||
}
|
||||
|
||||
function bootstrap() {
|
||||
switch (immichApp) {
|
||||
case 'immich-admin': {
|
||||
process.title = 'immich_admin_cli';
|
||||
return bootstrapImmichAdmin();
|
||||
}
|
||||
case 'immich': {
|
||||
if (!process.env.IMMICH_WORKERS_INCLUDE) {
|
||||
process.env.IMMICH_WORKERS_INCLUDE = 'api';
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'microservices': {
|
||||
if (!process.env.IMMICH_WORKERS_INCLUDE) {
|
||||
process.env.IMMICH_WORKERS_INCLUDE = 'microservices';
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (immichApp === 'immich-admin') {
|
||||
process.title = 'immich_admin_cli';
|
||||
process.env.IMMICH_LOG_LEVEL = LogLevel.WARN;
|
||||
return CommandFactory.run(ImmichAdminModule);
|
||||
}
|
||||
|
||||
if (immichApp === 'immich' || immichApp === 'microservices') {
|
||||
console.error(
|
||||
`Using "start.sh ${immichApp}" has been deprecated. See https://github.com/immich-app/immich/releases/tag/v1.118.0 for more information.`,
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
if (immichApp) {
|
||||
console.error(`Unknown command: "${immichApp}"`);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
process.title = 'immich';
|
||||
for (const worker of getWorkers()) {
|
||||
const { workers } = new ConfigRepository().getEnv();
|
||||
for (const worker of workers) {
|
||||
bootstrapWorker(worker);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue