2016-07-15 10 views
1

Ich benutze wickedpdf gem zum Generieren von PDFs in meiner Rails-Anwendung. Alles wird normal ausgeführt, bis auf wenige Anfragen zur Produktion fehlgeschlagen, mit dem folgenden Fehlerprotokoll.Fehler "std :: bad_alloc" böse pdf wkhtmltopdf

Error: Failed to execute: ["/usr/local/bin/wkhtmltopdf", "-q", "--page-size", "A4", "--margin-top", "20", "--margin-bottom", "25", "--margin-left", "0", "--margin-right", "0", "--footer-spacing", "5", "--footer-html", "file:////tmp/wicked_footer_pdf20160714-2229-1bb7qcg.html", "file:////tmp/wicked_pdf20160714-2229-18kjik5.html", "/tmp/wicked_pdf_generated_file20160714-2229-1t66b4y.pdf"] Error: PDF could not be generated! Command Error: terminate called after throwing an instance of 'std::bad_alloc'

Ich bin nicht in der Lage, dies auf meinem lokalen/Staging zu reproduzieren.

Folgendes ist mein Setup: Produktionsserver läuft auf Centos 7 auf AWS-EC2. Kopierte wkhtmltopdf-Binärdatei für Linux 64-Bit von http://wkhtmltopdf.org/downloads.html zu /usr/local/bin/wkhtmltopdf mit Version 0.12.0. Initialisierung für Wickedpdf hinzugefügt, um auf wkhtmltopdf zu verweisen.

Antwort

1

Wir hatten das gleiche Problem mit wkhtmltopdf-0.12.2.1. Auch PDFs wurden sehr langsam gerendert

wkhtmltopdf v0.12.0-0.12.2 verwendet eine hohe Auflösung (ca. 1200 dpi), um PDFs zu drucken, was zu langsamem Rendering führte. In der Version 0.12.3 wurde die Auflösung auf 72 dpi fallen gelassen, die das Leistungsproblem behoben (siehe this issue für die Details)

Upgrade auf v0.12.4.0 die Command Error: terminate called after throwing an instance of 'std::bad_alloc' entweder

fixiert