메인 콘텐츠로 바로가기

업무와 작업자

작업자​

아키텍처​

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)​

새로운 자산을 업로드하면 메타데이터 추출, 축소판 생성, 머신러닝 작업, (활성화되어 있다면) 스토리지 템플릿 마이그레이션 등의 일련의 작업이 시작됩니다. 작업 상태를 보려면 관리 -> 작업 페이지로 이동하십시오.

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

참고

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