Przejdź do głównej zawartości
getnextpdf.com

Enterprise edycja

Potok wyjściowy

NextPDF Enterprise koordynuje wielkoskalowe wsadowe wykonywanie manifestów potoku wyjściowego NextPDF Pro z konfigurowalnym limitem współbieżności oraz opcjonalnym przekazaniem do kontroli zgodności ukończonych wyników. Jest to warstwa wsadowa nad potokiem wyjściowym Pro.

Ta funkcja jest dostarczana w NextPDF Enterprise (nextpdf/enterprise) i aktywuje się z kopertą licencyjną poziomu Enterprise. Wdrożenie bez tego uprawnienia nie ładuje klas tej funkcji. Porównaj edycje i uzyskaj licencję.

Wsadowa powierzchnia Enterprise opiera się na potoku wyjściowym Pro (pro.output.pipeline), który jest wymaganiem wstępnym, a nie bramą. Nie ma osobnego kodu możliwości dla poszczególnych funkcji; orchestrator wsadowy oraz przekazanie do kontroli zgodności są dostępne wszędzie tam, gdzie zainstalowano licencjonowany pakiet nextpdf/enterprise.

Okno terminala
composer require nextpdf/enterprise:^3

BatchPipelineOrchestrator wykonuje wiele instancji PipelineManifest jako jedną partię. Każdy manifest jest przepuszczany przez PipelineExecutor z Pro; orchestrator dodaje koordynację partii, zabezpieczenie ograniczonych zasobów (liczba manifestów na partię jest objęta limitem), obsługę limitu czasu dla partii oraz opcjonalne przekazanie do kontroli zgodności.

BatchPipelineConfig steruje trzema rzeczami: maksymalną liczbą równoczesnych wywołań zwrotnych pracowników, opcjonalnym globalnym limitem czasu partii w milisekundach oraz tym, czy po ukończeniu potoku na każdym wyniku uruchamiana jest kontrola zgodności. Gdy kontrola zgodności jest włączona, ComplianceHandoff integruje się jako krok potoku, który ponownie waliduje każdy pochodny plik PDF przez bramę zgodności Enterprise, dzięki czemu dokument zmodyfikowany przez potok jest ponownie sprawdzany, a nie traktowany jako zaufany na podstawie stanu sprzed modyfikacji.

We wdrożeniach produkcyjnych równoległe rozdzielanie pracowników oraz przeciwciśnienie obsługuje oddzielny sidecar wykonawczy; opisany tutaj orchestrator PHP zapewnia koordynację partii oraz logikę przekazania do kontroli zgodności i jest wywoływany przez pracownika zadań, a nie bezpośrednio przez procedury obsługi żądań.

Wielkoskalowe generowanie wsadowe dzieli się na dwie kwestie: koordynację tego, które manifesty są uruchamiane i z jakimi gwarancjami, oraz napędzanie surowej równoległej przepustowości. NextPDF utrzymuje koordynację i semantykę zgodności w tym deterministycznym orchestratorze PHP, a równoległe rozdzielanie pracowników oraz przeciwciśnienie deleguje do oddzielnego sidecara wykonawczego. Ta granica pozwala warstwie przepustowości skalować współbieżność niezależnie, podczas gdy orchestrator pozostaje prosty, ograniczony i możliwy do audytu. Twardy limit manifestów na partię utrzymuje przewidywalne szczytowe zużycie pamięci, więc jedno duże zgłoszenie nie może pogorszyć wydajności puli pracowników. Przekazanie do kontroli zgodności ponownie waliduje każdy pochodny wynik zamiast ufać jego stanowi sprzed modyfikacji i zawodzi w sposób bezpieczny. Ukończony manifest przechodzi tylko wtedy, gdy brama potwierdzi zgodność, nigdy domyślnie.

Tło projektowe: Wielkoskalowe generowanie dokumentów.

KlasaOdpowiedzialność
BatchPipelineOrchestratorWykonanie wielu manifestów jako partii z ograniczoną współbieżnością.
BatchPipelineConfigMaksymalna współbieżność, limit czasu partii, przełącznik kontroli zgodności po ukończeniu.
BatchPipelineResultAgregat: wyniki dla poszczególnych manifestów, liczby ukończonych i nieudanych, pomiary czasu.
ComplianceHandoffOpcjonalny krok ponownej walidacji zgodności na końcu potoku.
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,
]);
  • Partia egzekwuje górny limit liczby manifestów; jego przekroczenie zgłasza błąd zabezpieczenia zasobów, zamiast cicho obniżać jakość działania.
  • Globalny limit czasu równy zero oznacza brak limitu czasu partii; w środowisku produkcyjnym ustaw wartość skończoną, aby zablokowany manifest nie mógł bezterminowo wstrzymać partii.
  • Przekazanie do kontroli zgodności wymaga rozpoznawalnego pliku PDF w wyniku poprzedzającego kroku; jeśli go nie ma, krok zgłasza niepowodzenie dla tego manifestu zamiast cicho je przepuścić.
  • Ten moduł zależy od potoku wyjściowego Pro; dodaje koordynację partii, a nie nowy model kroków.

Przepustowość skaluje się wraz ze skonfigurowaną współbieżnością oraz kosztem przypadającym na pojedynczy manifest. Współbieżność należy ustawić zachowawczo względem puli pracowników, aby wywołania zwrotne jej nie wysycały. Limit liczby manifestów na partię ogranicza szczytowe zużycie pamięci.

Orchestrator wsadowy przetwarza dowolne manifesty i zmienne dostarczone przez wywołującego; traktuj dane wejściowe potoku tak jak każdy inny niezaufany ładunek PDF. Przekazanie do kontroli zgodności jest pomocą w ponownej walidacji, a nie mechanizmem kontroli autoryzacji.

Wyniki partii mogą zawierać dane osobowe. Przetwarzanie odbywa się w procesie i lokalnie; ten orchestrator nie wykonuje żadnych wychodzących wywołań sieciowych. Zastosuj własne mechanizmy kontroli retencji do wyników partii.

Wyniki partii raportują liczby i pomiary czasu, a nie treść dokumentów. Wyczyść identyfikatory manifestów z logów, jeśli kodują dane najemcy lub sprawy.

Dla tego modułu nie deklaruje się żadnej zgodności ze standardami; jest to warstwa orchestracji. Opcjonalne przekazanie do kontroli zgodności deleguje do bramy zgodności Enterprise, która niesie własne odniesienia.

Ten moduł nie wykonuje żadnych operacji kryptograficznych.

Głównymi danymi wejściowymi są manifesty i zmienne dostarczone przez wywołującego. Środki ograniczające: twardy limit liczby manifestów na partię, ograniczona współbieżność, opcjonalna ponowna walidacja pochodnych wyników oraz brak operacji wejścia/wyjścia sieci w samym orchestratorze.

  • executeBatch() przepuszcza każdy manifest przez wykonawcę potoku Pro i zwraca wyniki dla poszczególnych manifestów wraz z liczbami ukończonych i nieudanych oraz pomiarami czasu.
  • Twardy limit ogranicza liczbę manifestów na partię; jego przekroczenie zgłasza błąd zabezpieczenia zasobów zamiast cicho obniżać jakość działania.
  • Zerowy globalny limit czasu oznacza brak limitu czasu partii; wartość skończona ogranicza zablokowany manifest.
  • Po włączeniu przekazanie do kontroli zgodności ponownie waliduje każdy pochodny plik PDF i zgłasza niepowodzenie kroku, gdy w poprzedzającym kroku nie znaleziono rozpoznawalnego pliku PDF, zamiast cicho go przepuścić.

Ta strona dokumentuje wyłącznie zewnętrznie obserwowalne zachowanie oraz obsługiwaną publiczną powierzchnię API. Wewnętrzne ścieżki przestrzeni nazw, klasy pomocnicze, tabele mechanizmów, nazwy plików runbooków oraz prefiksy zgłoszeń są poza zakresem.

NextPDF Core nie ma modelu potoku wyjściowego. Wdrożenie wyłącznie na Core komponuje własne kroki bezpośrednio względem API Core; nie ma manifestu, koordynacji partii ani przekazania do kontroli zgodności.

We wdrożeniu wyłącznie na Pro obsługiwaną powierzchnią jest potok wyjściowy Pro dla pojedynczego manifestu (pro.output.pipeline): PipelineExecutor z Pro wykonuje jeden manifest naraz. Pro nie zapewnia orchestratora wsadowego, zabezpieczenia partii o ograniczonej współbieżności, limitu czasu partii ani przekazania do kontroli zgodności Enterprise; konfiguracja, która żąda orchestracji wsadowej lub przekazania do kontroli zgodności we wdrożeniu wyłącznie na Pro, nie ma komponentu Enterprise, który mógłby ją spełnić. Powierzchnię potoku Pro opisuje przegląd Pro.

Koordynacja partii, granice zabezpieczenia zasobów oraz okablowanie przekazania do kontroli zgodności są opisane wyłącznie na poziomie zachowania. Wewnętrzny protokół rozdzielania sidecara, wewnętrzna semantyka przeciwciśnienia oraz wewnętrzne okablowanie bramy zgodności są poza zakresem powierzchni publicznej i nie są tutaj odtwarzane.

W środowisku produkcyjnym równoległe rozdzielanie pracowników oraz przeciwciśnienie obsługuje oddzielny sidecar wykonawczy; opisany tutaj orchestrator PHP zapewnia koordynację partii oraz logikę przekazania do kontroli zgodności i jest wywoływany przez pracownika zadań, a nie bezpośrednio przez procedury obsługi żądań. Dobór rozmiaru puli pracowników, udostępnianie sidecara oraz limity współbieżności względem puli pracowników PHP należą do odpowiedzialności operatora. Przekazanie do kontroli zgodności jest pomocą w ponownej walidacji, a nie mechanizmem kontroli autoryzacji.

Opcjonalne przekazanie do kontroli zgodności ponownie wykonuje przebieg walidacji nad pochodnymi dokumentami. Raportuje ustalenia; nie certyfikuje dokumentu, nie gwarantuje wystarczalności regulacyjnej ani nie stanowi porady prawnej. Ocena, czy wynik spełnia twoje obowiązki, należy do ciebie.