Enterprise редакция
Конвейер вывода
Краткий обзор
Заголовок раздела «Краткий обзор»NextPDF Enterprise координирует крупномасштабное пакетное выполнение манифестов выходного конвейера NextPDF Pro с настраиваемым ограничением конкурентности и необязательной передачей на проверку соответствия для завершённых выходов. Это пакетный слой поверх выходного конвейера Pro.
Доступность и лицензирование
Заголовок раздела «Доступность и лицензирование»Эта возможность поставляется в составе NextPDF Enterprise (nextpdf/enterprise) и активируется лицензионным конвертом уровня Enterprise. Развёртывание без этого права не загружает классы возможности. Сравните редакции и получите лицензию.
Пакетная поверхность Enterprise строится на выходном конвейере Pro (pro.output.pipeline), который является предпосылкой, а не гейтом. Отдельного кода возможности для каждой функции нет; пакетный оркестратор и передача на проверку соответствия доступны везде, где установлен лицензированный пакет nextpdf/enterprise.
Установка
Заголовок раздела «Установка»composer require nextpdf/enterprise:^3Концептуальный обзор
Заголовок раздела «Концептуальный обзор»BatchPipelineOrchestrator выполняет множество экземпляров PipelineManifest как один пакет. Каждый манифест прогоняется через PipelineExecutor из Pro; оркестратор добавляет пакетную координацию, ограничитель ресурсов (число манифестов на пакет ограничено), обработку тайм-аута для каждого пакета и необязательную передачу на проверку соответствия.
BatchPipelineConfig управляет тремя вещами: максимальным числом одновременных колбэков воркеров, необязательным глобальным тайм-аутом пакета в миллисекундах и тем, выполняется ли проверка соответствия для каждого выхода после завершения конвейера. Когда проверка соответствия включена, ComplianceHandoff встраивается как шаг конвейера, который повторно проверяет каждый производный PDF через шлюз соответствия Enterprise, поэтому документ, изменённый конвейером, проверяется заново, а не принимается на доверие из его состояния до изменения.
В рабочих развёртываниях параллельная отправка воркерам и обратное давление обрабатываются отдельным sidecar-процессом выполнения; описанный здесь оркестратор на PHP обеспечивает пакетную координацию и логику передачи на проверку соответствия и вызывается воркером заданий, а не напрямую обработчиками запросов.
Почему это работает именно так
Заголовок раздела «Почему это работает именно так»Высокообъёмная пакетная генерация делится на две задачи: координировать, какие манифесты выполняются и с какими гарантиями, и обеспечивать чистую параллельную пропускную способность. NextPDF держит семантику координации и соответствия в этом детерминированном оркестраторе на PHP и делегирует параллельную отправку воркерам и обратное давление отдельному sidecar-процессу выполнения. Эта граница позволяет слою пропускной способности масштабировать конкурентность независимо, тогда как оркестратор остаётся простым, ограниченным и поддающимся аудиту. Жёсткое ограничение на число манифестов в пакете делает пиковую память предсказуемой, поэтому одна большая заявка не может деградировать пул воркеров. Передача на проверку соответствия повторно проверяет каждый производный выход, а не доверяет его состоянию до изменения, и действует по принципу «отказ закрывает». Завершённый манифест проходит только тогда, когда шлюз подтверждает соответствие, и никогда — по умолчанию.
Проектный контекст: Высокообъёмная генерация документов.
Поверхность API
Заголовок раздела «Поверхность API»| Класс | Назначение |
|---|---|
BatchPipelineOrchestrator | Выполняет множество манифестов как пакет с ограниченной конкурентностью. |
BatchPipelineConfig | Максимальная конкурентность, тайм-аут пакета, переключатель проверки соответствия по завершении. |
BatchPipelineResult | Сводка: результаты по каждому манифесту, число завершённых и неудачных, тайминг. |
ComplianceHandoff | Необязательный шаг повторной проверки соответствия в конце конвейера. |
Пример кода — быстрый старт
Заголовок раздела «Пример кода — быстрый старт»use NextPDF\Enterprise\OutputPipeline\BatchPipelineOrchestrator;
$result = (new BatchPipelineOrchestrator($executor))->executeBatch($manifests);Пример кода — рабочая среда
Заголовок раздела «Пример кода — рабочая среда»use NextPDF\Enterprise\OutputPipeline\BatchPipelineOrchestrator;use NextPDF\Enterprise\OutputPipeline\BatchPipelineConfig;
$config = new BatchPipelineConfig( maxConcurrency: 4, timeoutMs: 600_000, complianceCheckOnComplete: true,);
$result = (new BatchPipelineOrchestrator($executor, $config)) ->executeBatch($manifests, $variablesMap);
$logger->info('pipeline.batch', [ 'completed' => $result->completedCount, 'failed' => $result->failedCount,]);Граничные случаи и подводные камни
Заголовок раздела «Граничные случаи и подводные камни»- Пакет накладывает верхнюю границу на число манифестов; её превышение вызывает ошибку ограничителя ресурсов, а не молчаливую деградацию.
- Глобальный тайм-аут, равный нулю, означает отсутствие тайм-аута пакета; задавайте конечное значение в продакшене, чтобы зависший манифест не мог блокировать пакет бесконечно.
- Передача на проверку соответствия требует распознаваемого PDF в выходе предыдущего шага; если его нет, шаг сообщает о сбое для этого манифеста, а не проходит молча.
- Этот модуль зависит от выходного конвейера Pro; он добавляет пакетную координацию, а не новую модель шагов.
Производительность
Заголовок раздела «Производительность»Пропускная способность растёт с настроенной конкурентностью и стоимостью на каждый манифест. Конкурентность следует задавать консервативно относительно пула воркеров, чтобы колбэки его не насыщали. Ограничение на число манифестов в пакете ограничивает пиковую память.
Замечания по безопасности
Заголовок раздела «Замечания по безопасности»Пакетный оркестратор обрабатывает любые манифесты и переменные, которые предоставляет вызывающий код; относитесь к входным данным конвейера как к любой другой недоверенной нагрузке PDF. Передача на проверку соответствия — это вспомогательная повторная проверка, а не средство авторизации.
Размещение данных и меры по защите ПДн
Заголовок раздела «Размещение данных и меры по защите ПДн»Выходы пакета могут содержать персональные данные. Обработка выполняется внутри процесса и локально; этот оркестратор не делает исходящих сетевых вызовов. Применяйте собственные меры контроля хранения к выходам пакета.
Безопасная телеметрия и очистка журналов
Заголовок раздела «Безопасная телеметрия и очистка журналов»Результаты пакета сообщают счётчики и тайминг, а не содержимое документа. Очищайте идентификаторы манифестов из журналов, если они кодируют данные арендатора или дела.
Соответствие
Заголовок раздела «Соответствие»Для этого модуля не заявляется соответствия каким-либо стандартам; это слой оркестрации. Необязательная передача на проверку соответствия делегирует работу шлюзу соответствия Enterprise, который несёт собственные ссылки.
Поведение в режиме FIPS
Заголовок раздела «Поведение в режиме FIPS»Этот модуль не выполняет криптографических операций.
Модель угроз
Заголовок раздела «Модель угроз»Основные входные данные — переданные вызывающим кодом манифесты и переменные. Меры противодействия: жёсткое ограничение на число манифестов в пакете, ограниченная конкурентность, необязательная повторная проверка производных выходов и отсутствие сетевого ввода-вывода в самом оркестраторе.
Контракт поведения
Заголовок раздела «Контракт поведения»executeBatch()прогоняет каждый манифест через исполнитель конвейера Pro и возвращает результаты по каждому манифесту с числом завершённых и неудачных и таймингом.- Жёсткое ограничение ограничивает число манифестов в пакете; его превышение вызывает ошибку ограничителя ресурсов, а не молчаливую деградацию.
- Нулевой глобальный тайм-аут означает отсутствие тайм-аута пакета; конечное значение ограничивает зависший манифест.
- Когда включена, передача на проверку соответствия повторно проверяет каждый производный PDF и сообщает о сбое шага, когда распознаваемый PDF не найден на предыдущем шаге, а не проходит молча.
Граница публикации
Заголовок раздела «Граница публикации»Эта страница документирует только внешне наблюдаемое поведение и поддерживаемую публичную поверхность API. Внутренние пути пространств имён, вспомогательные классы, таблицы механизмов, имена файлов runbook и префиксы заявок находятся вне области рассмотрения.
Резервный режим Core
Заголовок раздела «Резервный режим Core»У NextPDF Core нет модели выходного конвейера. Развёртывание только с Core компонует свои шаги напрямую против API Core; нет ни манифеста, ни пакетной координации, ни передачи на проверку соответствия.
Резервный режим Pro
Заголовок раздела «Резервный режим Pro»В развёртывании только с Pro поддерживаемая поверхность — это выходной конвейер Pro для одного манифеста (pro.output.pipeline): PipelineExecutor из Pro прогоняет один манифест за раз. Pro не предоставляет пакетного оркестратора, ограничителя пакета по конкурентности, тайм-аута для каждого пакета и передачи на проверку соответствия Enterprise; конфигурация, запрашивающая пакетную оркестрацию или передачу на проверку соответствия в развёртывании только с Pro, не имеет компонента Enterprise, который бы её удовлетворил. См. Обзор Pro для поверхности конвейера Pro.
Замечание о границе Enterprise
Заголовок раздела «Замечание о границе Enterprise»Пакетная координация, границы ограничителя ресурсов и подключение передачи на проверку соответствия описаны только на уровне поведения. Внутренний протокол отправки в sidecar, внутренняя семантика обратного давления и внутреннее подключение шлюза соответствия находятся вне публичной поверхности и здесь не воспроизводятся.
Граница развёртывания
Заголовок раздела «Граница развёртывания»В продакшене параллельная отправка воркерам и обратное давление обрабатываются отдельным sidecar-процессом выполнения; описанный здесь оркестратор на PHP обеспечивает пакетную координацию и логику передачи на проверку соответствия и вызывается воркером заданий, а не напрямую обработчиками запросов. Размер пула воркеров, подготовка sidecar и ограничения конкурентности относительно пула воркеров PHP — это обязанность оператора. Передача на проверку соответствия — это вспомогательная повторная проверка, а не средство авторизации.
Граница правового соответствия
Заголовок раздела «Граница правового соответствия»Необязательная передача на проверку соответствия повторно прогоняет проход проверки над производными документами. Она сообщает о замечаниях; она не сертифицирует документ, не гарантирует нормативную достаточность и не является юридической консультацией. Оценить, отвечает ли вывод вашим обязательствам, — ваша обязанность.
См. также
Заголовок раздела «См. также»- Выходной конвейер (справочник Enterprise) — справочник по API пакетного оркестратора.
- Обзор Pro — нижележащий выходной конвейер.
- Обзор Enterprise
- Матрица возможностей Core, Pro и Enterprise