高效处理电子邮件和支付:Rails 实践指南
1. 测试邮件创建
测试方法会指示邮件类创建(但不发送)一封电子邮件,我们使用断言来验证动态内容是否符合预期。注意使用 assert_match() 来验证部分正文内容。根据你在 OrderMailer 中定制默认 :from 行的方式,结果可能会有所不同。
2. 连接慢速支付处理器
控制器内的代码通常执行速度较快,能迅速向用户返回响应。但随着功能的增加,控制器会变得越来越慢,这会带来两个主要问题:
- 用户等待时间长 :即使某些处理与用户体验无关,用户仍需长时间等待响应。例如发送电子邮件,用户需要收到邮件,但无需等待 Rails 格式化并发送邮件才能在浏览器中看到确认信息。
- 超时问题 :当 Rails、Web 服务器或浏览器判定请求处理时间过长时,会终止该请求。这可能导致代码在奇怪的时间被中断,例如已记录订单但未发送邮件,客户将无法收到通知。
Rails 通过 Active Job 解决这些问题,它是一个用于在后台运行代码的通用框架。我们将使用该框架连接慢速支付处理器。具体步骤如下:
1. 在 Order 模型中实现与支付处理器的集成方法。
2. 让控制器使用 Active Job 在后台作业中执行该方法。
3. 编写系统测试确保所有功能正常工作。
超级会员免费看
订阅专栏 解锁全文
363

被折叠的 条评论
为什么被折叠?



