внутренняя модель перестроена вокруг аудиозаписи

- audiorecords вместо transcribe_jobs: приложения (texts, structures,
  recognitions, record_events, topics) живут своими коллекциями, ссылки на
  исходник и на приведённую копию перестали переставляться
- рубеж называет достигнутое, отказ стал признаком остановки с причиной, а
  сторожей стало двое: число отказов и время в рубеже
- воркеры потеряли специализацию, их число задаётся [pipeline] workers, шаг
  выбирается по рубежу, а захват отдаёт идентификатор и признак захвата
This commit is contained in:
av
2026-08-14 20:20:33 +03:00
parent d079f03350
commit 1576d06735
84 changed files with 8973 additions and 2865 deletions
+16 -9
View File
@@ -21,16 +21,23 @@ const (
// дойдёт до обработчика — без строки в журнале приёма.
const MaxRecordSize int64 = 8 << 30 // 8 ГиБ
// File — одна физическая копия: исходник, результат конвертации и копия во
// внешнем хранилище — три разные записи.
// File — одна физическая копия записи. Их ровно две: принятая и приведённая к
// рабочему формату. Копия во внешнем хранилище файлом записи не считается — она
// существует только потому, что провайдер читает аудио по адресу, и её ключ
// живёт в строке попытки распознавания.
type File struct {
Id string
Location string
// FileName — имя, под которым файл лежит: у местной копии это имя, заданное
// сервисом, у внешней — ключ объекта. Своего суффикса хранилище к заданному
// имени не дописывает: суффикс появляется только у имён, которые оно строит
// само из имени отправителя, а это умолчание не применяется.
FileName string
Size int64
CreatedAt time.Time
// FileName — имя, под которым файл лежит: имя задаёт сервис. Своего суффикса
// хранилище к заданному имени не дописывает: суффикс появляется только у
// имён, которые оно строит само из имени отправителя, а это умолчание не
// применяется.
FileName string
Size int64
// Format — расширение без точки, приведённое к нижнему регистру. Наружу оно
// выходит только через метку метрики, приведённую к перечню известных.
Format string
// DurationMs — длительность записи, если её удалось прочитать.
DurationMs int64
CreatedAt time.Time
}