2011-07-14 34 views
0

Rails 2.3.5Actionmailer,超时和恢复如果错误?

我一直在给一个'tickets'类型的应用程序添加一个电子邮件系统。今天早上电子邮件服务器关闭了几分钟,我注意到(至少在开发模式下)Rails将停止执行并返回一个超时错误。

在用户方面,看起来他们刚刚采取的操作(新票创建,编辑,评论,完成等)没有结果。

1)是否有一些方法使用继续之后像VB的'错误恢复下一个'的actionmailer错误 - 以便该应用程序不会停止在用户的过程中,因为发送通知电子邮件时出现问题?

2)在控制器方法中,我发送电子邮件,然后执行渲染/重定向。在发送电子邮件之前,是否可以完成所采取的故障单操作并使用户进入新的/下一页?就像用户点击'完整',完整的动作设置一个闪存味精,并重定向到索引页面,AND THEM actionmailer会触发?

回答

1

我强烈建议寻找类似DelayedJob或Resque的东西,从应用程序中切换到在后台处理电子邮件 - 这样最终用户不会等待进程完成,然后可以处理重试等在后台。

+0

谢谢 - 非常感谢 – Reno