Génération PDF asynchrone : jobs avec polling + progression
All checks were successful
Deploy / deploy (push) Successful in 20s
All checks were successful
Deploy / deploy (push) Successful in 20s
- Nouveau système de jobs : POST /jobs (async), GET /jobs/{id} (status), GET /jobs/{id}/result (PDF), DELETE /jobs/{id}
- worker.php spawné en arrière-plan via nohup, lit la sortie pagedjs-cli ligne par ligne via proc_open et écrit la progression dans tmp/job_{id}.status.json
- Migration de pagedjs-cli en install local (node_modules) pour persister le patch protocolTimeout via patch-package
- CI : déploie package.json, worker.php, patches/, et lance npm install (qui réapplique les patches via postinstall)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
a005c982bd
commit
0b954ed494
10 changed files with 506 additions and 6 deletions
|
|
@ -11,13 +11,19 @@ return [
|
|||
'tmp_dir' => '/var/www/web2print/tmp',
|
||||
'log_file' => '/var/www/web2print/logs/app.log',
|
||||
|
||||
// Paged.js CLI
|
||||
'pagedjs_bin' => '/usr/bin/pagedjs-cli', // Vérifier avec: which pagedjs-cli
|
||||
'pagedjs_timeout' => 60, // secondes
|
||||
// Paged.js CLI (install local via npm dans /var/www/web2print)
|
||||
'pagedjs_bin' => '/var/www/web2print/node_modules/.bin/pagedjs-cli',
|
||||
'pagedjs_timeout' => 240, // secondes
|
||||
|
||||
// PHP CLI (utilisé pour spawn le worker async)
|
||||
'php_bin' => '/usr/bin/php',
|
||||
|
||||
// Jobs asynchrones
|
||||
'job_max_age' => 3600, // 1h, age au-delà duquel un job orphelin est supprimé
|
||||
|
||||
// Limites
|
||||
'max_html_size' => 5 * 1024 * 1024, // 5 MB
|
||||
'max_execution_time' => 90,
|
||||
'max_execution_time' => 300,
|
||||
|
||||
// Options PDF par défaut
|
||||
'pdf_defaults' => [
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue