kotarou1192 / blog_api

0 stars 0 forks source link

メール送信をActiveJobにする #16

Open kotarou1192 opened 2 years ago

kotarou1192 commented 2 years ago

新機能の説明 メール送信が糞重いのでActiveJobにしてしまう。

新機能の細かい仕様 アカウントを作成する時にメールを送るが、メール送信完了までずっと待たされる。人としてやってはならない気がする。
ActiveJobにしてキューに入れて別スレッドでメールを送るようにしたい。

追記 ここが参考になりそう

kotarou1192 commented 2 years ago

これに関連して、メールから飛んで登録後にトークンを発行する方が親切なのではないかと思うが、フロントエンドのremember me機能でクッキーを利用する兼ね合いで対応を見送った。

kotarou1192 commented 2 years ago

https://railsguides.jp/active_job_basics.html

kotarou1192 commented 2 years ago

[FYI] ActiveJobで使えるsidekiqが何をやっているかと言うと、redisをキューとして用いた非同期処理。 メール送信やRDBMSとの定期通信などのお仕事をRails本体と分担できるので、重い処理や後で良い処理や時間がかかる処理はそちらに渡してしまうのが良い。 リクエストに対して同期的に何でもかんでもやっているとレスポンスまだ〜?もっかい送ってみよ! っていう減少が起きて余計余計重くなってサーバーが死ぬ。