2014-01-23 40 views
1

我在我的應用程序中引入了wicked_pdf,並且生成的pdf結果非常慢。wicked_pdf在製作pdf時在獨角獸上超時

當使用瘦時,我設法在許多分鐘內(超過10)獲得正確內容的pdf,但缺少CSS和圖像。

我現在切換到使用3名工人的獨角獸,60秒後請求失敗。所以pdf一代根本不起作用。

這裏是從麒麟輸出:

"***************\"/usr/local/bin/wkhtmltopdf\" -q  \"file:////var/folders/hc/yp8ps4x54rg7clpzf7g6plwm0000gq/T/wicked_pdf20140123-25990-100u2wv.html\" \"/var/folders/hc/yp8ps4x54rg7clpzf7g6plwm0000gq/T/wicked_pdf_generated_file20140123-25990-1hakql5.pdf\" ***************" 
E, [2014-01-23T15:45:03.391769 #25693] ERROR -- : worker=0 PID:25990 timeout (61s > 60s), killing 
E, [2014-01-23T15:45:03.399291 #25693] ERROR -- : reaped #<Process::Status: pid 25990 SIGKILL (signal 9)> worker=0 
I, [2014-01-23T15:45:03.399536 #25693] INFO -- : worker=0 spawning... 
I, [2014-01-23T15:45:03.401747 #26013] INFO -- : worker=0 spawned pid=26013 
I, [2014-01-23T15:45:03.402179 #26013] INFO -- : Refreshing Gem list 
I, [2014-01-23T15:45:06.113099 #26013] INFO -- : worker=0 ready 

我的節目控制器看起來是這樣的:

respond_to do |format| 
    format.html # show.html.erb 
    format.json { render json: @item } 
    format.pdf do 
    render pdf: "#{current_user.username.dehumanize}_item_#{@item.id}" 
    end 
end 

,我已經減少了我show.pdf.haml到:

%html 
    %head 
    %body 
    #wrapper 
     .top_wrapper 
     %header.top-header.border 
      .container 
      .row-fluid.header 
       logo 
       .span2 
       logo2 
     .container 
      .row-fluid 
     .body-wrapper 
     .container 
      .row 
      .span4 
       %h4 Comments 
      .row 
      .span9 
     %footer 

回答

1

我盤算了一下,在創建pdf作爲臨時文件後掛起wkhtmltopdf問題。

我在wkhtmltopdf的問題中檢查了一下,發現這是一個老的已知問題,至今仍未解決。

沒有這個問題的最後一個工作版本是0.9.9

這裏說明通過BREW安裝:

Why does PDFKit/wkhtmltopdf hang but renders PDF as expected when Rails app is killed?

這裏的鏈接問題上wkhtmltopdf如發現:

https://code.google.com/p/wkhtmltopdf/issues/detail?id=141

+0

的鏈接問題上wkhtmltopdf發現不再有效。你知道這是否仍然是一個問題,或者是否已在最新版本中修復? – Marklar

+0

我不知道它是否已被修復。它看起來項目離開了goog,也許看看github:https://github.com/wkhtmltopdf/wkhtmltopdf/issues在那裏找到問題。 –