업무와 작업자
작업자
아키텍처
immich-server
컨테이너는 여러 작업자를 포함합니다:
api
: 웹 및 모바일 앱을 위한 데이터 및 파일에 대한 API 요청에 응답합니다.microservices
: 축소판 생성 및 비디오 인코딩과 같은 대부분의 작업을 job 형태로 처리합니다. 간단히 말해, 작업(job)은 데이터를 백그라운드로 처리하기 위한 요청입니다.
작업자 분리
작업자를 제한하거나 분산시키는 것이 선호되는 경우, 환경 변수를 사용하여 특정 컨테이너가 어떤 작업을 처리할지 지정할 수 있습니다.
예를 들어, 웹/API를 위한 하나의 컨테이너와 기타 모든 마이크로서비스를 위한 하나의 컨테이너로 구성된 간단한 설정의 경우, 다음과 같이 할 수 있습니다:
immich-server
블록 전체를 새 서비스로 복사하고, 복사본에 다음 변경을 가하십시오:
- immich-server:
- container_name: immich_server
...
- ports:
- - 2283:2283
+ immich-microservices:
+ container_name: immich_microservices
immich-server 서비스의 두 복사본을 가지면, 각각 다음 변경을 적용하십시오. 이렇게 하면 하나의 컨테이너는 웹 UI와 API만 제공하고 다른 컨테이너는 다른 모든 작업을 처리하게 됩니다.
services:
immich-server:
...
+ environment:
+ IMMICH_WORKERS_INCLUDE: 'api'
immich-microservices:
...
+ environment:
+ IMMICH_WORKERS_EXCLUDE: 'api'
작업(job)
새로운 자산을 업로드하면 메타데이터 추출, 축소판 생성, 머신러닝 작업, (활성화되어 있다면) 스토리지 템플릿 마이그레이션 등의 일련의 작업이 시작됩니다. 작업 상태를 보려면 관리 -> 작업 페이지로 이동하십시오.

또한 일부 작업(예: 추억 생성)은 기본적으로 매일 자정에 예약되어 실행됩니다. 작업 실행 시간을 변경하거나 작업을 활성화/비활성화하려면 시스템 설정 -> 야간 작업 설정으로 이동하십시오.

참고
일부 작업(외부 라이브러리 스캔, 데이터베이스 덤프)은 시스템 설정의 별도 섹션에서 구성됩니다.