2014-09-05 42 views
0

我們已經有很長一段時間在Heroku上成功運行PDFkit + Wkhtmltopdf。突然之間,PDF不是渲染。我轉身「安靜」過,看着我們的日誌,看看這個:heroku + wkhtmltopdf + pdfkit =錯誤1299?

2014-09-05T18:42:17.909469+00:00 app[web.2]: Completed 200 OK in 317ms (Views: 257.1ms | ActiveRecord: 40.4ms)] 0% 
Counting pages (2/6)            =============>       ] 58% 
Resolving links (4/6)              ==============================] Object 1 of 1 
Loading headers and footers (5/6)           ==============================] Object 1 of 1 
2014-09-05T18:42:18.171572+00:00 app[web.2]: Printing pages (6/6) 
Done                          ] Preparing 

2014-09-05T18:42:18.217154+00:00 app[web.2]: Exit with code 1 due to http error: 1299 
2014-09-05T18:42:18.226795+00:00 app[web.2]: 
2014-09-05T18:42:18.226801+00:00 app[web.2]: RuntimeError (command failed (exitstatus=1): /app/bin/wkhtmltopdf-amd64-12 --page-size Letter --margin-top 0.0in --margin-right 0.0in --margin-bottom 0.0in --margin-left 0.0in --encoding UTF-8 --print-media-type - -): 

我找不到任何地方什麼「HTTP錯誤1299」是...

並沒有什麼改變......它只是發生在藍天之外,在一天中間沒有任何代碼可見。當然,它在開發中運行良好。

在調試過程中我更新pdfkit到0.6.2,我都試過V12.0和wkhtmltopdf的11.0rc1。如果我在heroku bash上運行它,我可以wkhtmltopdf-amd64 google.com google.pdf就好,沒有錯誤。

任何人看到這個?有人能告訴我從哪裏開始?

+0

嘗試在https://github.com/wkhtmltopdf/wkhtmltopdf/issues上的wkhtmltopdf問題中添加一個問題,以查找關於什麼是錯誤代碼1299的文檔。順便說一句,當有404上的頁面 - 例如缺少圖像。 – Nenotlep 2014-09-08 05:46:34

回答

0

我發現這個問題,和解決方案,但爲什麼會發生的原因和理由還不清楚。

經過一些試驗和錯誤之後,我發現我們和其他人在heroku傾向於使用跟蹤系統性能的NewRelic gem注入了一個JavaScript腳本,該腳本從NewRelic的服務器上加載。我們知道這是在那裏,因爲它用於New Relic的瀏覽器測量。但是我們完全忘記了它也會出現在我們正在創建PDF的頁面上,因爲我相信它會在Rack級別注入。

我無法找到一個方法來告訴它不要來衡量某些頁面,所以我就關掉瀏覽器的測量我們NewRelic.yml文件。繁榮。問題沒有了。我的猜測是JS加載時間太長,或者導致Wkhtmltopdf出錯。

我把它報的Heroku,與解決方案,在他們弄明白或交談如果NewRelic的人看到它的希望。在我們的解決方案中瀏覽器測量絕對不像PDF生成那麼重要,所以我們可以沒有它。

如果需要更多詳細信息,可以在PDFkit中看到此問題。 https://github.com/pdfkit/pdfkit/issues/251

相關問題