【问题标题】:Processing attachments with Heroku and Mailgun Routes使用 Heroku 和 Mailgun 路由处理附件
【发布时间】:2013-03-27 11:23:33
【问题描述】:

我的 webapp 是部署到 Heroku 的 Ruby on Rails 应用程序。

我使用 Mailgun Routes 将电子邮件转发到我的 Web 应用程序。 Mailgun Routes 的文档在这里http://documentation.mailgun.net/user_manual.html#um-routes

基本上,Mailgun 将主题、正文、发件人等内容作为 HTTP 参数发送。附件以多部分/表单数据编码的文件上传形式发布。在控制器中,它们显示为 UploadedFile (http://api.rubyonrails.org/classes/ActionDispatch/Http/UploadedFile.html)。

在控制器中,我继续将附件上传到 S3。

但是如果有大附件或很多附件,请求会超时(Heroku 臭名昭著的 H12 错误)。

我尝试使用后台工作人员(延迟工作),但遇到了这些问题

  • 将整个 UploadedFile 对象或 UploadedFile.tempfile 发送到后台工作人员会导致不可靠的行为(延迟作业不能很好地处理大型对象,例如模型实例)
  • 发送临时文件的路径并尝试打开它不起作用,因为只有它们所在的 dyno 才能访问临时文件(临时文件存储在 web worker dyno 中,并且尝试从后台 worker dyno 访问它失败 - Creating temporary files in Heroku)

关于如何解决这个问题有什么聪明的想法吗?

【问题讨论】:

    标签: design-patterns heroku mailgun


    【解决方案1】:

    我刚刚在使用 Mailgun 的 Routes 功能时遇到了类似的问题。问题的答案似乎是使用他们在 2013 年晚些时候发布的“商店”功能。希望我能在集成路线功能之前遇到这个问题,因为使用商店的方法完全不同。

    【讨论】:

      猜你喜欢
      • 2014-12-03
      • 2013-12-24
      • 1970-01-01
      • 2016-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 2019-04-24
      相关资源
      最近更新 更多