レールのアプリでは、電子メールには、バックグラウンドジョブとして送信したり、同期する必要がありますか?
-
19-09-2019 - |
質問
私たちは、新しいレールのアプリをリリースに近づいていると、これまで関心が、我々は、ボトルネックがされる場所について少し心配している非常に強いようです。一つは、申し込みの上やその他の状況では、システムの電子メールをであるように思われます。これは正しいですか?
ユーザーに個別の電子メールは、バックグラウンドで非同期的に送信されるべきか?もしそうなら、何が最善の解決策になるのでしょうか?
私はいくつかのソリューションを見てきたし、決定的な何かを見つけるように見えることはできません。
解決
私はそれがあなたの要件に依存だと思います。あなたはメール送信が失敗したことをユーザーに通知することができるようにする必要がある場合は、同じスレッドでそれを行います。
ない場合は、、メールを送信すると、再試行などのようなものをサポートしなければならないので、私はキュー/ファイルシステム/データベーステーブルの/ etcの中にメッセージを入れて送るの詳細は別のスレッド/プロセスの契約を持っているでしょう。
他のヒント
backgroudのに使用 http://github.com/tobi/delayed_job の
同じスレッド、あなたは私に言わせれば....電子メールサーバーがピックアップし、ドロップフォルダにファイルを生成することもできます。そして、あまりにも多くのオーバーヘッドがないので、seaprateスレッドはほとんど意味をなさないます。
少なくとも、これは、私はいつもこれを処理する方法である。
所属していません StackOverflow