由“MultiJson :: DecodeError:795:意外令牌”引起的奇怪的应用程序错误

时间:2013-03-02 05:27:00

标签: ruby-on-rails ruby pdf pdf-generation

我正在构建一个应用程序,该应用程序使用用户创建的行程地图创建PDF文档。它有两个阶段:

  • 个性化 - 用户选择兴趣点。
  • 最终确定 - 用户输入他们的电子邮件地址,我们生成PDF地图并通过发送带有下载链接的电子邮件来完成整个过程。

我对这个过程的第二阶段有疑问。请求生成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

我非常感谢任何建议。请问一些事情是否不够清楚。 问候

0 个答案:

没有答案