1

ユーザーが作成した旅行の地図を含む PDF ドキュメントを作成するアプリケーションを構築しています。次の 2 つの段階があります。

  • パーソナライゼーション - ユーザーは興味のあるポイントを選択します。
  • ファイナライズ - ユーザーが電子メール アドレスを入力すると、PDF マップが生成され、ダウンロード リンクが記載された電子メールが送信されてプロセスが完了します。

プロセスの第 2 段階に問題があります。PDF の生成を要求すると、エラーが発生します。

ログ:

app[worker.1]: Starting to finalize PDF no #3384
app[worker.1]: Generating pdf url:/pdfs/new.json?id=3384&token=abcdeyd
app[web.2]: Started GET "/pdfs/new.json?id=3384&token=abcdeyd" 

数秒後、次のようになります。

   heroku[router]: at=error code=H12 desc="Request timeout" method=GET path=/pdfs/new.json?id=3384&token=abcdeyd" host= fwd= dyno=web.2 queue=0ms wait=0ms connect=1ms service=30000ms status=503 bytes=0

その後:

    [Worker(host:pid:2)] Trip#finalize_without_delay! failed with MultiJson::DecodeError: 795: unexpected token at '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
app[worker.1]:     <html>
app[worker.1]:     <head>
app[worker.1]:       <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
app[worker.1]:       <style type="text/css">
app[worker.1]:         html, body, iframe { margin: 0; padding: 0; height: 100%; }
app[worker.1]:         iframe { display: block; width: 100%; border: none; }
app[worker.1]:       </style>
app[worker.1]:     <title>Application Error</title></head>
app[worker.1]:     </head>
app[worker.1]:     <body>
app[worker.1]:       <iframe src="//s3.amazonaws.com/heroku_pages/error.html">
app[worker.1]:         <p>Application Error</p>
app[worker.1]:       </iframe>
app[worker.1]:     </body>
app[worker.1]:     </html>' - 0 failed attempts

ユーザー側から見ると、次のようになります。

app[web.1]: Started GET "/pdfs/3384" 
app[web.1]: OpenURI::HTTPError (403 Forbidden):
app[web.1]:   app/controllers/pdfs_controller.rb:52:in `show'

そして、これの最も奇妙な部分は、約 30 ~ 40 分後に実際に PDF をダウンロードしようとしたときに、すべてがうまくいき、自分のコンピューターにダウンロードしたことです。

app[web.1]: cache: [GET /pdfs/3384] miss
app[web.1]: Processing by PdfsController#show as HTML
app[web.1]:   Parameters: {"id"=>"3384"}
app[web.1]: Completed 200 OK in 2101ms (Views: 0.9ms | ActiveRecord: 7.4ms | Solr: 0.0ms)
heroku[router]: at=info method=GET path=/pdfs/3384 dyno=web.1 queue=0 wait=1ms connect=1ms service=4220ms status=200 bytes=13825239

どんな提案にもとても感謝しています。不明な点があれば質問してください。ご挨拶

4

0 に答える 0