0
ラックのミドルウェアは現在のリクエスト/レスポンスを変更するためのものですが、メールを送信するにはenv['user_id']
となるSendEmailミドルウェアが必要ですか?`SendEmail`ラックミドルウェアやその他のバックグラウンドジョブミドルウェアを持っても構いませんか?
プロセス全体(リクエスト+電子メールの送信)が非同期であるとします。
ラックのミドルウェアは現在のリクエスト/レスポンスを変更するためのものですが、メールを送信するにはenv['user_id']
となるSendEmailミドルウェアが必要ですか?`SendEmail`ラックミドルウェアやその他のバックグラウンドジョブミドルウェアを持っても構いませんか?
プロセス全体(リクエスト+電子メールの送信)が非同期であるとします。
もしあなたが本当にGoliathでやりたければ、私はプラグインを作ってそこでやってみることをお勧めします。 configにキューを作成し、そのプラグインがキューから項目をポップしてメールを送信するようにします。
なぜあなたはそれをしますか? – d11wtq
さて、1つのエンドポイントが非常に複雑になっているGoliathアプリがあります。テストとメンテナンスが難しいので、私はそれをカットすることに決めました。元の計画は、多くのエンドポイントを持ち、httpを介してそれらの間で通信することでしたが、それを行うことはできませんでした。これは第2のアイデアでした。別の考え方は、EventMachineキューを使用することです。つまり、 'user_id'を' SendEmail'キューに置き、それを他の場所で処理します。ほとんどの場合、この時点で簡単に保守とテストが行われます。 –
ジョブをキューに追加することは間違いなく良い選択です。 –