-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
お知らせ通知を高速化する #7438
お知らせ通知を高速化する #7438
Conversation
d53f34c
to
39290d8
Compare
39290d8
to
c02003a
Compare
@taco-nantai |
@taco-nantai |
@naokinaokiboo |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
動作確認とコードの確認を行いました。
問題なさそうなのでApproveしました!👍
@taco-nantai |
@komagata |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
確認させて頂きました。OKです〜🙆♂️
Issue
概要
お知らせ通知を投稿したとき、現状の実装ではユーザー1人につき2つのJob(ActiveJobのJob)を使って通知を送っている。(メール通知で1つ、サイト内通知で1つ)
そのため、通知する人数の2倍のJobが作成されてしまう。
リソース節約のために、1つのJobで対象ユーザー全員への通知を行うようにする。
変更確認方法
feature/optimize-post-announcement
をローカルに取り込むhttp://localhost:3000/announcements/new
)にアクセスする全員(退会者を除く)
を選択し、「作成」ボタンをクリックお知らせ通知作成時、1つのJobだけがキューに入れられていることを確認
log/development.log
に、キューにJobを追加するログが1つしか出ていないことを確認する以下、ログのサンプル
メール通知、サイト内通知が正しく行われていることを確認
メール通知
http://localhost:3000/letter_opener
にアクセスして、送信されたメールの数が正しいことを確認するメール通知が行われる数 = 全ユーザー数 - (メール通知がOFFまたは退会している人の数) - (発信者:1)
(※ 発信者はメール通知ONである前提の式です)お知らせを作成した人
へのメールは存在しないことを確認する参考:全ユーザー数
参考:メール通知がOFFまたは退会者となっている人の数
サイト内通知
notifications
テーブルで対象の通知のレコード数が正しいことを確認するサイト内通知が行われる数 = 全ユーザー数 - (退会している人の数) - (発信者:1)
お知らせを作成した人
へはサイト内通知が作成されていないことを確認する参考:退会している人の数
参考:対象のお知らせのサイト内通知の数
Screenshot
内部的な変更のため無し