2012-05-04 26 views
2

我的PDF的正確地方,有時產生在我的Heroku應用程序,但他們偶爾會超時,我會看到這個錯誤妖獸-PDF倍的Heroku

2012-05-04T14:53:33+00:00 app[web.1]: Started GET "/orders/125/invoice_pdf.pdf" for 10.87.41.73 at 2012-05-04 14:53:33 +0000 
2012-05-04T14:54:03+00:00 heroku[router]: Error H12 (Request timeout) -> GET www.printavo.com/orders/125/invoice_pdf.pdf dyno=web.1 queue= wait= service=30000ms status=503 bytes=0 
2012-05-04T14:54:03+00:00 heroku[nginx]: 10.87.41.73 - backerm2 [04/May/2012:14:54:03 +0000] "GET /orders/125/invoice_pdf.pdf HTTP/1.1" 503 607 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19" www.printavo.com 
2012-05-04T14:54:03+00:00 heroku[nginx]: 127.0.0.1 - backerm2 [04/May/2012:14:54:03 +0000] "GET /orders/125/invoice_pdf.pdf HTTP/1.0" 503 607 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19" www.printavo.com 
2012-05-04T14:54:05+00:00 heroku[router]: Error H12 (Request timeout) -> GET www.printavo.com/customers/new dyno=web.1 queue= wait= service=30000ms status=503 bytes=0 

任何想法有什麼不對?

+0

我看到超時爲好。我在PDF中封裝了外部圖像,這可能是造成這種情況的原因。你是? – avioing

+0

你將需要2個網頁dynos,它的工作原理 – bcackerman

回答

0

2個網頁dynos修復了這個問題或使用了delayed_jobs gem。還要確保在生成的PDF中包含CSS。

0

經過進一步審查。你不需要2個網頁dynos。只要確保在application.html.erb文件夾和file_name.pdf.erb文件中包含CSS。

這是我的application.html.erb文件。

<% if request_from_pdfkit? %> 
      <!-- css for pdf --> 
       <style type="text/css"> 
        <%= File.read(Rails.root.join("public","stylesheets","invoice_pdf.css.scss"))%> 
        <%= File.read(Rails.root.join("public","stylesheets","app.css.scss"))%> 
       </style> 
      <% end %> 

任何然後我.pdf.erb文件

<!DOCTYPE html> 
<html> 
<head> 
    <title><%= title %></title> 
    <style type="text/css"> 
     <%= Printavo::Application.assets["invoice_pdf.css.scss"].to_s.html_safe %> 
     <%= Printavo::Application.assets["app.css.scss"].to_s.html_safe %> 
     body{ font-family: arial !important;} 
    </style> 
</head>