Lewati ke konten
getnextpdf.com

Enterprise edisi

Output Pipeline

NextPDF Enterprise mengoordinasikan eksekusi batch berskala besar atas manifes output-pipeline NextPDF Pro dengan batas konkurensi yang dapat dikonfigurasi dan serah-terima kepatuhan opsional pada keluaran yang selesai. Ia adalah lapisan batch di atas output pipeline Pro.

Kapabilitas ini dikirimkan dalam NextPDF Enterprise (nextpdf/enterprise) dan diaktifkan dengan envelope lisensi tingkat-Enterprise. Penerapan tanpa entitlement tersebut tidak memuat class kapabilitas ini. Bandingkan edisi dan dapatkan lisensi.

Permukaan batch Enterprise dibangun di atas output pipeline Pro (pro.output.pipeline), yang merupakan prasyarat alih-alih gerbangnya. Tidak ada kode kapabilitas per-fitur tersendiri; orkestrator batch dan serah-terima kepatuhan tersedia di mana pun paket nextpdf/enterprise berlisensi dipasang.

Terminal window
composer require nextpdf/enterprise:^3

BatchPipelineOrchestrator mengeksekusi banyak instance PipelineManifest sebagai satu batch. Setiap manifes dijalankan melalui PipelineExecutor Pro; orkestrator menambahkan koordinasi batch, penjaga sumber daya terbatas (jumlah manifes per batch dibatasi), penanganan timeout per-batch, dan serah-terima kepatuhan opsional.

BatchPipelineConfig mengontrol tiga hal: jumlah maksimum callback worker konkuren, timeout batch global opsional dalam milidetik, dan apakah pemeriksaan kepatuhan berjalan pada setiap keluaran setelah pipeline selesai. Ketika pemeriksaan kepatuhan diaktifkan, ComplianceHandoff terintegrasi sebagai langkah pipeline yang memvalidasi ulang setiap PDF turunan melalui gateway kepatuhan Enterprise, sehingga dokumen yang dimodifikasi oleh pipeline diperiksa ulang alih-alih dipercaya dari keadaan pra-modifikasinya.

Dalam penerapan produksi, dispatch worker paralel dan backpressure ditangani oleh sidecar eksekusi terpisah; orkestrator PHP yang dideskripsikan di sini menyediakan koordinasi batch dan logika serah-terima kepatuhan, serta dipanggil oleh worker job alih-alih langsung oleh handler permintaan.

Pembuatan batch bervolume tinggi terpecah menjadi dua perhatian: mengoordinasikan manifes mana yang berjalan di bawah jaminan apa, dan menggerakkan throughput paralel mentah. NextPDF menyimpan semantik koordinasi dan kepatuhan di dalam orkestrator PHP deterministik ini, serta mendelegasikan dispatch worker paralel dan backpressure ke sidecar eksekusi terpisah. Batas itu memungkinkan lapisan throughput menskalakan konkurensi secara independen sementara orkestrator tetap sederhana, terbatas, dan dapat diaudit. Batas keras pada manifes per batch menjaga memori puncak tetap dapat diprediksi, sehingga satu pengiriman besar tidak dapat menurunkan kualitas kumpulan worker. Serah-terima kepatuhan memvalidasi ulang setiap keluaran turunan alih-alih mempercayai keadaan pra-modifikasinya, dan gagal secara tertutup. Sebuah manifes yang selesai lolos hanya ketika gateway mengonfirmasi konformitas, tidak pernah secara default.

Latar belakang desain: Pembuatan dokumen bervolume tinggi.

ClassTanggung jawab
BatchPipelineOrchestratorMengeksekusi banyak manifes sebagai batch dengan konkurensi terbatas.
BatchPipelineConfigKonkurensi maksimum, timeout batch, toggle compliance-on-complete.
BatchPipelineResultAgregat: hasil per-manifes, jumlah selesai dan gagal, pewaktuan.
ComplianceHandoffLangkah validasi-ulang kepatuhan akhir-pipeline opsional.
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,
]);
  • Batch menegakkan batas atas pada jumlah manifes; melampauinya memunculkan error penjaga-sumber-daya alih-alih menurun secara diam-diam.
  • Timeout global bernilai nol berarti tanpa timeout batch; setel nilai berhingga di produksi sehingga manifes yang macet tidak dapat memblokir batch tanpa batas.
  • Serah-terima kepatuhan membutuhkan PDF yang dapat dikenali dalam keluaran langkah hulu; jika tidak ada yang ditemukan, langkah melaporkan kegagalan untuk manifes tersebut alih-alih lolos secara diam-diam.
  • Modul ini bergantung pada output pipeline Pro; ia menambahkan koordinasi batch, bukan model langkah baru.

Throughput berskala dengan konkurensi yang dikonfigurasi dan biaya per-manifes. Konkurensi sebaiknya disetel secara konservatif relatif terhadap kumpulan worker sehingga callback tidak menjenuhkannya. Batas manifes per-batch membatasi memori puncak.

Orkestrator batch memproses manifes dan variabel apa pun yang disediakan pemanggil; perlakukan masukan pipeline seperti beban kerja PDF tidak tepercaya lainnya. Serah-terima kepatuhan adalah alat bantu validasi-ulang, bukan kontrol otorisasi.

Keluaran batch dapat memuat data pribadi. Pemrosesan bersifat in-process dan lokal; tidak ada panggilan jaringan keluar yang dilakukan oleh orkestrator ini. Terapkan kontrol retensi Anda sendiri pada keluaran batch.

Hasil batch melaporkan jumlah dan pewaktuan, bukan konten dokumen. Bersihkan pengidentifikasi manifes dari log jika mereka mengkodekan data tenant atau kasus.

Tidak ada kesesuaian standar yang diklaim untuk modul ini; ia adalah lapisan orkestrasi. Serah-terima kepatuhan opsional menyerahkan ke gateway kepatuhan Enterprise, yang membawa rujukannya sendiri.

Modul ini tidak melakukan operasi kriptografis.

Masukan utamanya adalah manifes dan variabel yang disediakan pemanggil. Mitigasi: batas keras pada manifes per batch, konkurensi terbatas, validasi-ulang opsional atas keluaran turunan, dan tanpa I/O jaringan dalam orkestrator itu sendiri.

  • executeBatch() menjalankan setiap manifes melalui pipeline executor Pro dan mengembalikan hasil per-manifes dengan jumlah selesai dan gagal serta pewaktuan.
  • Batas keras membatasi jumlah manifes per batch; melampauinya memunculkan error penjaga-sumber-daya alih-alih menurun secara diam-diam.
  • Timeout global bernilai nol berarti tanpa timeout batch; nilai berhingga membatasi manifes yang macet.
  • Ketika diaktifkan, serah-terima kepatuhan memvalidasi ulang setiap PDF turunan dan melaporkan kegagalan langkah ketika tidak ada PDF yang dapat dikenali ditemukan di hulu alih-alih lolos secara diam-diam.

Halaman ini hanya mendokumentasikan perilaku yang dapat diamati dari luar dan permukaan API publik yang didukung. Jalur namespace internal, class pembantu, tabel mekanisme, nama berkas runbook, dan prefiks tiket berada di luar cakupan.

NextPDF Core tidak memiliki model output-pipeline. Penerapan Core-saja menyusun langkah-langkahnya sendiri secara langsung terhadap API Core; tidak ada manifes, tidak ada koordinasi batch, dan tidak ada serah-terima kepatuhan.

Pada penerapan Pro-saja, permukaan yang didukung adalah output pipeline Pro manifes-tunggal (pro.output.pipeline): PipelineExecutor Pro menjalankan satu manifes pada satu waktu. Pro tidak menyediakan orkestrator batch, penjaga batch konkurensi-terbatas, timeout per-batch, atau serah-terima kepatuhan Enterprise; konfigurasi yang meminta orkestrasi batch atau serah-terima kepatuhan pada penerapan Pro-saja tidak memiliki komponen Enterprise untuk memenuhinya. Lihat Ringkasan Pro untuk permukaan pipeline Pro.

Koordinasi batch, batas penjaga-sumber-daya, dan pengkabelan serah-terima-kepatuhan dideskripsikan hanya pada tingkat perilaku. Protokol dispatch sidecar internal, semantik backpressure internal, dan pengkabelan gateway-kepatuhan internal berada di luar cakupan permukaan publik dan tidak direproduksi di sini.

Di produksi, dispatch worker paralel dan backpressure ditangani oleh sidecar eksekusi terpisah; orkestrator PHP yang dideskripsikan di sini menyediakan koordinasi batch dan logika serah-terima-kepatuhan serta dipanggil oleh worker job, bukan langsung oleh handler permintaan. Penentuan ukuran kumpulan worker, penyediaan sidecar, dan batas konkurensi relatif terhadap kumpulan worker PHP adalah tanggung jawab operator. Serah-terima kepatuhan adalah alat bantu validasi-ulang, bukan kontrol otorisasi.

Serah-terima kepatuhan opsional menjalankan ulang satu lintasan validasi atas dokumen turunan. Ia melaporkan temuan; ia tidak menyertifikasi dokumen, menjamin kecukupan regulasi, atau merupakan nasihat hukum. Menilai apakah suatu keluaran memenuhi kewajiban Anda adalah tanggung jawab Anda.