我正在構建一個應用程序,它會定期向用戶發送狀態請求(通過電子郵件&短信)。我想執行這將每個小時的服務:(基於某種邏輯)關於如何在Rails 3中編寫服務的建議
- 查詢數據庫中需要發送的所有請求
- 發送通過亞馬遜的簡單電子郵件服務的要求(這已經工作)
- 寫狀態請求通知的記錄回數據存儲
我正在考慮這一系列的操作結束了與終點的單控制器,可以遠程調用揭開序幕的過程在rails應用程序中。從長遠來看,我會把這個過程分解成一個可以獨立於我的Rails應用程序運行的應用程序,但現在我只是試圖保持簡單。
我的第一傾斜是建立以下內容:用下列元素
- 控制器:
- 這將協調上面概述的步驟(和可以在外部調用)的方法
- 的呼叫到
status_request
模型,它將帶回需要發送的請求集合 - 循環遍歷待處理的請求,它將:
- 讓我的AWS簡單的電子郵件服務模塊的調用實際發送電子郵件,並
- 請對
status_request
模型調用登錄請求回數據庫
- 型號:
- 一我
status_request
模型方法,會帶回那些需要請求集合發送 - 的方法,我
status_request
模型,它會記錄寄通知
- 一我
由於這將作爲一個服務,從外部調度程序定期調用,我不認爲我需要一個視圖來執行此操作。 (當然,會需要視圖來向用戶和管理員顯示發送了什麼請求,但是後來......)。
作爲Rails的新手,我要求回顧一下這種方法以及您可能有的任何建議。
謝謝!
在這裏做了一些關於delayed_job的閱讀:https://github.com/collectiveidea/delayed_job。偉大的寶石! – jn29098