Zum Inhalt springen
getnextpdf.com

Enterprise Edition

Ausgabe-Pipeline

NextPDF Enterprise koordiniert die großskalige Batch-Ausführung von Output-Pipeline-Manifesten aus NextPDF Pro mit einer konfigurierbaren Nebenläufigkeitsgrenze und einer optionalen Compliance-Übergabe auf fertiggestellten Ausgaben. Es ist die Batch-Ebene über der Pro-Output-Pipeline.

Diese Fähigkeit wird in NextPDF Enterprise (nextpdf/enterprise) ausgeliefert und aktiviert sich mit einer Lizenzhülle der Enterprise-Stufe. Ein Deployment ohne diese Berechtigung lädt die Klassen der Fähigkeit nicht. Editionen vergleichen und eine Lizenz erwerben.

Die Enterprise-Batch-Oberfläche baut auf der Pro-Output-Pipeline (pro.output.pipeline) auf, die eher eine Voraussetzung als das Gate ist. Es gibt keinen separaten, Feature-spezifischen Capability-Code; der Batch-Orchestrator und die Compliance-Übergabe sind überall dort verfügbar, wo das lizenzierte Paket nextpdf/enterprise installiert ist.

Terminal-Fenster
composer require nextpdf/enterprise:^3

BatchPipelineOrchestrator führt viele PipelineManifest-Instanzen als einen Batch aus. Jedes Manifest wird durch den Pro-PipelineExecutor ausgeführt; der Orchestrator ergänzt Batch-Koordination, einen Schutz für begrenzte Ressourcen (die Anzahl der Manifeste pro Batch ist gedeckelt), die Behandlung von Timeouts pro Batch und eine optionale Compliance-Übergabe.

BatchPipelineConfig steuert drei Dinge: die maximale Anzahl nebenläufiger Worker-Callbacks, ein optionales globales Batch-Timeout in Millisekunden und ob nach Abschluss der Pipeline eine Compliance-Prüfung auf jeder Ausgabe läuft. Wenn die Compliance-Prüfung aktiviert ist, integriert sich ComplianceHandoff als Pipeline-Schritt, der jedes abgeleitete PDF über das Enterprise-Compliance-Gateway erneut validiert, sodass ein durch die Pipeline modifiziertes Dokument erneut geprüft und nicht aus seinem Zustand vor der Modifikation als vertrauenswürdig angenommen wird.

In Produktions-Deployments werden die parallele Worker-Verteilung und der Backpressure von einem separaten Ausführungs-Sidecar gehandhabt; der hier beschriebene PHP-Orchestrator stellt die Batch-Koordination und die Logik der Compliance-Übergabe bereit und wird vom Job-Worker aufgerufen, nicht direkt von Request-Handlern.

Die Batch-Generierung in hohem Volumen teilt sich in zwei Belange: die Koordination, welche Manifeste unter welchen Garantien laufen, und das Treiben des reinen parallelen Durchsatzes. NextPDF hält Koordinations- und Compliance-Semantik in diesem deterministischen PHP-Orchestrator und delegiert die parallele Worker-Verteilung und den Backpressure an ein separates Ausführungs-Sidecar. Diese Grenze lässt die Durchsatzebene die Nebenläufigkeit unabhängig skalieren, während der Orchestrator einfach, begrenzt und auditierbar bleibt. Eine harte Deckelung der Manifeste pro Batch hält den Speicher-Spitzenwert vorhersehbar, sodass eine einzelne große Einreichung den Worker-Pool nicht degradieren kann. Die Compliance-Übergabe validiert jede abgeleitete Ausgabe erneut, statt ihrem Zustand vor der Modifikation zu vertrauen, und ist fail-closed. Ein abgeschlossenes Manifest besteht nur, wenn das Gateway die Konformität bestätigt, niemals standardmäßig.

Design-Hintergrund: Dokumentenerzeugung in hohem Volumen.

KlasseZuständigkeit
BatchPipelineOrchestratorFührt viele Manifeste als Batch mit begrenzter Nebenläufigkeit aus.
BatchPipelineConfigMaximale Nebenläufigkeit, Batch-Timeout, Compliance-on-Complete-Schalter.
BatchPipelineResultAggregat: Ergebnisse pro Manifest, Anzahl abgeschlossener und gescheiterter, Timing.
ComplianceHandoffOptionaler Schritt zur erneuten Compliance-Validierung am Pipeline-Ende.
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,
]);
  • Der Batch erzwingt eine Obergrenze für die Anzahl der Manifeste; ihr Überschreiten löst einen Ressourcen-Schutz-Fehler aus, statt stillschweigend zu degradieren.
  • Ein globales Timeout von null bedeutet kein Batch-Timeout; setzen Sie in der Produktion einen endlichen Wert, sodass ein hängengebliebenes Manifest den Batch nicht unbegrenzt blockieren kann.
  • Die Compliance-Übergabe erfordert ein erkennbares PDF in der Ausgabe des vorgelagerten Schritts; wird keines gefunden, meldet der Schritt einen Fehler für dieses Manifest, statt stillschweigend durchzugehen.
  • Dieses Modul hängt von der Pro-Output-Pipeline ab; es ergänzt Batch-Koordination, kein neues Schrittmodell.

Der Durchsatz skaliert mit der konfigurierten Nebenläufigkeit und den Kosten pro Manifest. Die Nebenläufigkeit sollte relativ zum Worker-Pool konservativ gesetzt werden, sodass Callbacks ihn nicht sättigen. Die Manifest-Deckelung pro Batch begrenzt den Speicher-Spitzenwert.

Der Batch-Orchestrator verarbeitet alle Manifeste und Variablen, die der Aufrufer bereitstellt; behandeln Sie Pipeline-Eingaben wie jede andere nicht vertrauenswürdige PDF-Workload. Die Compliance-Übergabe ist eine Hilfe zur erneuten Validierung, keine Autorisierungskontrolle.

Batch-Ausgaben können personenbezogene Daten enthalten. Die Verarbeitung erfolgt in-process und lokal; dieser Orchestrator führt keine ausgehenden Netzwerkaufrufe aus. Wenden Sie Ihre eigenen Aufbewahrungskontrollen auf Batch-Ausgaben an.

Batch-Ergebnisse melden Zählwerte und Timing, keinen Dokumentinhalt. Bereinigen Sie Manifest-Identifikatoren aus Logs, wenn sie Mandanten- oder Falldaten codieren.

Für dieses Modul wird keine Standardkonformität beansprucht; es ist eine Orchestrierungsebene. Die optionale Compliance-Übergabe verweist auf das Enterprise-Compliance-Gateway, das seine eigenen Referenzen trägt.

Dieses Modul führt keine kryptografischen Operationen durch.

Die primären Eingaben sind vom Aufrufer bereitgestellte Manifeste und Variablen. Minderungen: eine harte Deckelung der Manifeste pro Batch, begrenzte Nebenläufigkeit, optionale erneute Validierung abgeleiteter Ausgaben und keine Netzwerk-I/O im Orchestrator selbst.

  • executeBatch() führt jedes Manifest durch den Pro-Pipeline-Executor aus und gibt Ergebnisse pro Manifest mit der Anzahl abgeschlossener und gescheiterter sowie Timing zurück.
  • Eine harte Deckelung begrenzt die Anzahl der Manifeste pro Batch; ihr Überschreiten löst einen Ressourcen-Schutz-Fehler aus, statt stillschweigend zu degradieren.
  • Ein globales Timeout von null bedeutet kein Batch-Timeout; ein endlicher Wert begrenzt ein hängengebliebenes Manifest.
  • Wenn aktiviert, validiert die Compliance-Übergabe jedes abgeleitete PDF erneut und meldet einen Schrittfehler, wenn vorgelagert kein erkennbares PDF gefunden wird, statt stillschweigend durchzugehen.

Diese Seite dokumentiert ausschließlich extern beobachtbares Verhalten und die unterstützte öffentliche API-Oberfläche. Interne Namespace-Pfade, Hilfsklassen, Mechanismus-Tabellen, Runbook-Dateinamen und Ticket-Präfixe liegen außerhalb des Umfangs.

NextPDF Core hat kein Output-Pipeline-Modell. Ein Core-only-Deployment setzt seine eigenen Schritte direkt gegen die Core-API zusammen; es gibt kein Manifest, keine Batch-Koordination und keine Compliance-Übergabe.

In einem Pro-only-Deployment ist die unterstützte Oberfläche die Pro-Output-Pipeline für ein einzelnes Manifest (pro.output.pipeline): Der Pro-PipelineExecutor führt ein Manifest nach dem anderen aus. Pro stellt nicht den Batch-Orchestrator, den Batch-Schutz mit begrenzter Nebenläufigkeit, das Timeout pro Batch oder die Enterprise-Compliance-Übergabe bereit; eine Konfiguration, die in einem Pro-only-Deployment Batch-Orchestrierung oder die Compliance-Übergabe anfordert, hat keine Enterprise-Komponente, die sie erfüllt. Siehe Pro – Überblick zur Pro-Pipeline-Oberfläche.

Die Batch-Koordination, die Grenzen des Ressourcen-Schutzes und die Verdrahtung der Compliance-Übergabe werden ausschließlich auf Verhaltensebene beschrieben. Das interne Sidecar-Verteilungsprotokoll, die interne Backpressure-Semantik und die interne Compliance-Gateway-Verdrahtung liegen außerhalb des Umfangs der öffentlichen Oberfläche und werden hier nicht wiedergegeben.

In der Produktion werden die parallele Worker-Verteilung und der Backpressure von einem separaten Ausführungs-Sidecar gehandhabt; der hier beschriebene PHP-Orchestrator stellt die Batch-Koordination und die Logik der Compliance-Übergabe bereit und wird vom Job-Worker aufgerufen, nicht direkt von Request-Handlern. Die Dimensionierung des Worker-Pools, die Sidecar-Bereitstellung und die Nebenläufigkeitsgrenzen relativ zum PHP-Worker-Pool liegen in der Verantwortung des Betreibers. Die Compliance-Übergabe ist eine Hilfe zur erneuten Validierung, keine Autorisierungskontrolle.

Die optionale Compliance-Übergabe führt einen Validierungsdurchlauf über abgeleitete Dokumente erneut aus. Sie meldet Findings; sie zertifiziert kein Dokument, garantiert keine regulatorische Ausreichendheit und stellt keine Rechtsberatung dar. Die Beurteilung, ob eine Ausgabe Ihre Pflichten erfüllt, liegt in Ihrer Verantwortung.