Feature #5715
PDF Caching
Start date:
20.03.2018
Due date:
% Done:
0%
Estimated time:
Discuss:
Description
Das rendern (zusammensetzen aus mehreren Quellen) eines PDF kann lange dauern. Vorschlag fuer ein Caching:
- Es gibt ein Cache Verzeichniss, fileadmin/protected/cache.
- Beim zusammenbauen (Parameter in _link) kann neu ein Caching Token mit (0-n) 'tablename/id/column'-Tripples (falls kein 'columnname' angegeben ist, wird 'modified' genommen ) angegeben werden.
- Von allen Source Reference Angaben (filename, url) wird ein MD5 Hash gebaut. In dem Hash ist kein Timestamp enthalten, denn dann wuerde die zuletzt gecachte Datei nicht ueberschrieben werden bei einem Update.
- Unter dem <cache Verzeichnis>/<MD5> wird die fertig gerenderte Datei gespeichert.
- Von allen Filename wird der 'modified'-Timestamp, und die Timestamps der aufgeloesten 'tablename/id/column'-Tripple, verglichen mit dem modified timestamp der Datei '<cache Verzeichnis>/<MD5>'
- Gibt es min. einen Timestamp der neuer ist als der der gerenderten Datei, wird die Datei neu gebaut.
- Es gibt ein Token im Link, welches beim rendern dazu fuehrt das das PDF auf Vorrat (im Cache Verzeichnis) gebaut wird.
- Das Render passiert am besten asynchron, gesteuert ueber rabittmq oder mqtt (#5851)
Related issues
Updated by Carsten Rose over 2 years ago
- Related to Feature #5851: Queue System implementieren: MQTT, RabbitMQ added
Updated by Carsten Rose over 2 years ago
- Related to Support #6357: Generiertes PDF auf Server abspeichern added
Updated by Carsten Rose over 2 years ago
Evtl. koennte die Funktion von #6357 mit diesem Ticket gemerged werden.
Updated by Carsten Rose almost 2 years ago
- Priority changed from Normal to High
- Target version changed from next to 146
Updated by Benjamin Baer almost 2 years ago
Ich glaube das my problem hat auch mit der Annotate Tabelle zu tun. Die ist bereits ueber 2G gross. Den FabricString auf MediumBlob von MediumText zu aendern scheint bereits deutliche verbesserungen auf einigen Masken zu geben.
Updated by Carsten Rose 12 months ago
- Target version changed from QFQCD19 - waere gut to 20.12.0