feat(webstatement): tambah opsi Browsershot untuk stabilitas PDF generation
Perubahan yang dilakukan:
- Menambahkan setOption('headless', true) untuk menjalankan Chrome dalam mode headless.
- Menambahkan opsi noSandbox() untuk menghindari masalah permission di environment server.
- Menggunakan waitUntilNetworkIdle() agar memastikan seluruh resource dimuat sebelum proses render.
- Menerapkan konfigurasi ini pada ExportStatementPeriodJob, GenerateMultiAccountPdfJob, dan PrintStatementController.
- Meningkatkan stabilitas dan performa proses PDF generation di environment production.
- Mengurangi potensi error dan timeout saat melakukan rendering PDF.
- Memastikan semua asset dan resource termuat sempurna sebelum PDF dihasilkan.
Tujuan perubahan:
- Menjamin proses PDF generation berjalan lebih andal di berbagai environment server.
- Mengurangi risiko kegagalan akibat resource belum termuat saat rendering.
- Menyelaraskan konfigurasi Browsershot dengan best practice untuk environment production.
This commit is contained in:
@@ -1033,10 +1033,13 @@ ini_set('max_execution_time', 300000);
|
||||
Browsershot::html($html)
|
||||
->showBackground()
|
||||
->setOption('addStyleTag', json_encode(['content' => '@page { margin: 0; }']))
|
||||
->setOption('protocolTimeout', 2147483) // 120000 ms = 2 menit
|
||||
->setOption('protocolTimeout', 2147483) // 120000 ms = 2 menit
|
||||
->setOption('headless', true)
|
||||
->noSandbox()
|
||||
->format('A4')
|
||||
->margins(0, 0, 0, 0)
|
||||
->waitUntil('load')
|
||||
->waitUntilNetworkIdle()
|
||||
->timeout(2147483)
|
||||
->save($tempPath);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user