Project

General

Profile

Feature #5715

PDF Caching

Added by Carsten Rose over 2 years ago. Updated 6 months ago.

Status:
New
Priority:
High
Assignee:
Target version:
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.
Auf Vorrat produzieren:
  • 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

Related to QFQ - Feature #5851: Queue System implementieren: MQTT, RabbitMQSome day maybe2018-04-21

Related to QFQ - Support #6357: Generiertes PDF auf Server abspeichernClosed2018-07-03

History

#1 Updated by Carsten Rose over 2 years ago

  • Description updated (diff)

#2 Updated by Carsten Rose over 2 years ago

  • Related to Feature #5851: Queue System implementieren: MQTT, RabbitMQ added

#3 Updated by Carsten Rose over 2 years ago

  • Description updated (diff)

#4 Updated by Carsten Rose almost 2 years ago

  • Related to Support #6357: Generiertes PDF auf Server abspeichern added

#5 Updated by Carsten Rose almost 2 years ago

Evtl. koennte die Funktion von #6357 mit diesem Ticket gemerged werden.

#6 Updated by Carsten Rose over 1 year ago

  • Priority changed from Normal to High
  • Target version changed from next to 146

#7 Updated by Carsten Rose over 1 year ago

  • Status changed from New to In Progress

#8 Updated by Carsten Rose over 1 year ago

  • Status changed from In Progress to New

#9 Updated by Benjamin Baer over 1 year 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.

#10 Updated by Carsten Rose about 1 year ago

  • Target version changed from 146 to QFQCD19 - waere gut

#11 Updated by Carsten Rose 8 months ago

  • Status changed from New to Some day maybe

#12 Updated by Carsten Rose 8 months ago

  • Status changed from Some day maybe to New

#13 Updated by Carsten Rose 6 months ago

  • Target version changed from QFQCD19 - waere gut to 20.7.1

Also available in: Atom PDF