我正在构建一个应用程序,它会定期向用户发送状态请求(通过电子邮件&短信)。我想执行这将每个小时的服务:(基于某种逻辑)关于如何在Rails 3中编写服务的建议
- 查询数据库中需要发送的所有请求
- 发送通过亚马逊的简单电子邮件服务的要求(这已经工作)
- 写状态请求通知的记录回数据存储
我正在考虑这一系列的操作结束了与终点的单控制器,可以远程调用揭开序幕的过程在rails应用程序中。从长远来看,我会把这个过程分解成一个可以独立于我的Rails应用程序运行的应用程序,但现在我只是试图保持简单。
我的第一倾斜是建立以下内容:用下列元素
- 控制器:
- 这将协调上面概述的步骤(和可以在外部调用)的方法
- 的呼叫到
status_request
模型,它将带回需要发送的请求集合 - 循环遍历待处理的请求,它将:
- 让我的AWS简单的电子邮件服务模块的调用实际发送电子邮件,并
- 请对
status_request
模型调用登录请求回数据库
- 型号:
- 一我
status_request
模型方法,会带回那些需要请求集合发送 - 的方法,我
status_request
模型,它会记录寄通知
- 一我
由于这将作为一个服务,从外部调度程序定期调用,我不认为我需要一个视图来执行此操作。 (当然,会需要视图来向用户和管理员显示发送了什么请求,但是后来......)。
作为Rails的新手,我要求回顾一下这种方法以及您可能有的任何建议。
谢谢!
在这里做了一些关于delayed_job的阅读:https://github.com/collectiveidea/delayed_job。伟大的宝石! – jn29098