gpt4 book ai didi

ruby-on-rails - ActionMailer 中的内存泄漏

转载 作者:行者123 更新时间:2023-12-04 05:41:52 25 4
gpt4 key购买 nike

我有以下代码。它是一个 ActionMailer 类方法,发送包含两种附件的电子邮件:

  1. pdf 文件 (_attachment),在内存中呈现并直接添加到消息中

  2. 一些其他文件 (_attached_files),可以从文件系统添加。

一切正常,除了一件事——内存泄漏。只要用户发送带有附件的消息,内存消耗就会不断增长。它不会返回内存。据我测试,我怀疑这个问题与文件系统中的附加文件有关,而不是渲染的 PDF 文件。

  attachments[_attachment.pdf_filename] = render(_attachment.pdf_template_path, :format => :pdf)

_attached_files.try(:each) do |file|
attachments[file.attachment_file_name] = File.read(file.attachment.path, mode:"rb")
end

mail(:to =>_recipients, :from=>_sender_name, :subject => _subject)

最佳答案

哦,终于找到内存泄漏的原因了。我错了 - 它与 pdf 文件有关。

我用prawn来渲染pdf文件。我错误地包含了外部字体系列并在表格中使用了它们。每次 prawn 生成表时,都会分配一些内存。

关于ruby-on-rails - ActionMailer 中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12958956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com