До змісту документації

Постійна робоча область

MediaFileBatch керує активним пакетом, а MediaFile зберігає поточні робочі дані кожного файлу. Об’єкти зберігаються в таблицях media_file_batches і media_files, тому обробка витримує перезапуск.

MediaFile

Поле Призначення
id Стабільний ідентифікатор для подій.
path Розташування файлу з назвою.
state Поточний стан ідентифікації.
action Збережене рішення: pending, approve, ignore або delete.
identification Прийняті назва, рік і цілочисельна впевненість від 0 до 10.
issues Поточні проблеми як записи {code, message}; порожній список за відсутності проблем.
attempts Кількість спроб для збереженого результату.
tmdb_match Збережений запит, відповідь пошуку, помилка або пропуск; null до зіставлення.
retries Кількість нових ідентифікацій через відсутність результатів TMDB, від 0 до 3.
Стан Значення
pending Очікує ідентифікації.
identified LLM-ідентифікацію прийнято; потрібне зіставлення з TMDB.
unresolved_llm Спроби ідентифікації вичерпано.
unresolved_hidden_file Приховане ім’я файлу пропущено без звернення до LLM.

Виявлення файлів створює стан pending. Після ідентифікації кожен переходить до одного з трьох інших результатів.

Дії підготовки

MediaFileAction зберігається окремо від стану ідентифікації в media_files.action. Нові файли мають pending. Контрольна точка ідентифікації зберігає approve, коли впевненість дорівнює DR3el.AUTO_APPROVE_CONFIDENCE (10), інакше pending. Це відбувається в одній транзакції з результатом файлу та подією завершення.

Випадаючого списку Action у Control більше немає. Збережене поле залишається частиною контракту: елементи pending/approve можна зіставляти, ignore/delete пропускаються.

Зіставлення починається автоматично. Один результат TMDB розв’язує відповідність; за кількох результатів LLM обирає за номерами кандидатів, назвами, уривками описів і голосами. Нуль результатів спричиняє до трьох нових ідентифікацій, після яких пошук повторюється за попередній і наступний роки. Невирішені елементи доступні для ручного вибору через TMDB ID. Конфлікти точного шляху показують Entry exists і кнопку Replace Local Media.

Зіставлення зберігає метадані каталогу та імпортує файли. Контрольні точки catalogue_saved і file_moved відділяють фіксацію бази даних від завершення файлових операцій. В інтерфейсі замість Identified з’являється Imported; внутрішній стан залишається identified. Перевіряйте результати зіставлення та Current Task щодо помилок імпорту й незавершеної роботи.

Рядки каталогів містять find_ls для діалогу про дві частини. Окремі фільми містять source_directory, а за відсутності року у файлі — також find_ls. Це зберігає контекст розмови після перезапуску. Вкладення зберігають пари відео/SRT і номери частин. Неоднозначні SRT отримують unresolved_srt та залишаються в джерелі. Дивіться шаблони каталогів та імпорт.

MediaFileBatch

Зберігає id, requested_size, source_directory, destination_directory, упорядковані files, state і started_event_id. У робочій області одночасно один пакет.

Стан Значення
processing Триває ідентифікація.
failed Зупинено через помилку.
cancelled Користувач зупинив обробку; старі випуски також використовували цей стан для зупинки служби.
identification_completed Діагностична ідентифікація завершена без автоматичного імпорту.
matching Триває автоматичне зіставлення TMDB.
matching_completed Зіставлення завершено; результати доступні для перегляду.
matching_failed Зіставлення припинилося через помилку.

Явний діагностичний --run-batch поновлює файли pending, повертаючи пакети failed/cancelled у processing. Завершення ідентифікації не означає фіналізації. Звичайний запуск сервера поновлює перервану обробку або зіставлення зі збереженого вибору. Завершені пакети та явна команда Stop Batch залишаються бездіяльними. Старі пакети cancelled без запиту зупинки також поновлюються. Для перерваної роботи New Batch вимкнена; команда з Control може замінити завершену робочу область свіжим вибором. Активна обробка забороняє заміну. Записи каталогу й історія подій залишаються. Каталог призначення збережено разом із пакетом.

Збереження й очищення

  • Сутності зберігають дані, активності виконують роботу й переходи станів.
  • WorkspaceDb через DbMgr зберігає вибір до ідентифікації та фіксує результат файлу разом із його подією.
  • Діагностичний --run-batch використовує збережений вибір, пропускає готові результати й повторює перерваний файл; робочу область займає лише один процесор.
  • issues містить поточні проблеми, а не історію усіх очищень.
  • Пакети після ідентифікації залишаються доступними без повторних звернень до моделі.
  • New Batch прибирає завершені робочі записи під час збереження нового вибору. Остаточні записи каталогу залишаються, а зберігання журналу подій керується окремо.

Лічильники пакета

batch_completed підраховує MediaFile: count — загальна кількість, а unresolved_llm і unresolved_hidden_file — кількість відповідних станів, навіть якщо нуль. Події життєвого циклу пакета не є станами файлів.

Дивіться ідентифікацію одного пакета.