Работа и Рабочие
Рабочие
Архитектура
Контейнер immich-server
содержит несколько рабочих процессов:
api
: отвечает на запросы API для получения данных и файлов для веб- и мобильного приложения.microservices
: обрабатывает большую часть остальной работы, такой как генерация миниатюр и кодирование видео, в виде задач. Проще говоря, задача — это запрос на обработку данных в фоновом режиме.
Разделение рабочих процессов
Если вы пр едпочитаете ограничивать или распределять задачи между рабочими процессами, это можно сделать с помощью переменных окружения, указав, какой контейнер должен выполнять какие задачи.
Например, для простого набора с одним контейнером для веб/API и другим для всех остальных микросервисов, можно сделать следующее:
Скопируйте весь блок immich-server
как новую услугу и внесите следующие изменения в копию:
- immich-server:
- container_name: immich_server
...
- ports:
- - 2283:2283
+ immich-microservices:
+ container_name: immich_microservices
После того как у вас будут две копии сервиса immich-server, внесите следующие изменения в каждый из них. Это позволит одному контейнеру обслуживать только веб-интерфейс и API, а другому контейнеру выполнять все остальные задачи.
services:
immich-server:
...
+ environment:
+ IMMICH_WORKERS_INCLUDE: 'api'
immich-microservices:
...
+ environment:
+ IMMICH_WORKERS_EXCLUDE: 'api'
Задачи
Когда новый ресурс загружается, запускается серия задач, которая включает извлечение метаданных, генерацию миниатюр, задачи машинного обучения и миграцию шаблонов хранения, если она включена. Чтобы просмотреть статус задачи, перейдите на страницу Администрирование -> Задачи.

Кроме того, некоторые задачи (например, генерация воспоминаний) выполняются по расписанию, которое по умолчанию запускается каждую ночь в полночь. Чтобы изменить время выполнения или включить/отключить задачу, перейдите в Настройки системы -> Настройки ночных задач.

Некоторые задачи (например, сканирование Внешних библиотек, Экспорт базы данных) настраиваются в их собственных разделах в Настройках системы.