首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用grover gem转换html2pdf时,Schmooze::Process failed +

使用grover gem转换html2pdf时,Schmooze::Process failed +
EN

Stack Overflow用户
提问于 2020-03-19 04:31:23
回答 1查看 304关注 0票数 2
代码语言:javascript
复制
respond_to do |format|
        format.html
        format.pdf do
          grover = Grover.new('http://localhost:3000/generate_report', format: 'A4')
          pdf = grover.to_pdf
          File.open(Rails.root.join('report.pdf'),'wb', encoding: 'ascii-8bit') { |f| f.write(pdf)}

        end
      end

我需要将我的html页面转换为pdf。但是我得到了一个"schmooze进程失败“,当它执行grover.to_pdf时系统挂起。它在终端上工作得很好,但在我的rails项目中就不行了。

EN

回答 1

Stack Overflow用户

发布于 2020-03-21 03:53:52

这听起来像是你的系统挂起了,因为当你在开发模式下默认运行Rails时,你只有一个线程在运行。

当您在请求内部并试图访问generate_report端点时,您将请求排队并等待其响应,但是,由于Rails一次只能处理一个请求,响应永远不会到来,因此请求永远不会完成,从而导致死锁。

尝试在不发出web请求的情况下获取报告的超文本标记语言,方法是填充模板或调用ActionController.render()并使用该模板。

如果这不是您的选择,那么可以将Rails服务器配置为在开发模式下使用多线程(我建议您在开发模式下使用Puma,或者在任何生产模式下使用)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60747083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档