[deploy] Refactor:Cleanup Naming and Optimize Email Digest Code (#10054)
This commit is contained in:
parent
ba8b3dd443
commit
8a44eb9421
9 changed files with 12 additions and 10 deletions
|
|
@ -8,8 +8,10 @@ class EmailDigest
|
|||
end
|
||||
|
||||
def send_periodic_digest_email
|
||||
@users.ids.each do |user_id|
|
||||
Email::SendUserDigestWorker.perform_async(user_id)
|
||||
@users.select(:id).in_batches do |batch|
|
||||
batch.each do |user|
|
||||
Emails::SendUserDigestWorker.perform_async(user.id)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
module Email
|
||||
module Emails
|
||||
class EnqueueDigestWorker
|
||||
include Sidekiq::Worker
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
module Email
|
||||
module Emails
|
||||
class SendUserDigestWorker
|
||||
include Sidekiq::Worker
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ daily_home_cache_bust:
|
|||
- "/"
|
||||
send_email_digest:
|
||||
cron: "30 11 * * 3,4,5,6" # 11:30 am UTC Wed, Thurs, Fri, Sat, Sun
|
||||
class: "Email::EnqueueDigestWorker"
|
||||
class: "Emails::EnqueueDigestWorker"
|
||||
remove_old_notifications:
|
||||
cron: "0 5 * * *" # daily at 5 am UTC
|
||||
class: "Notifications::RemoveOldNotificationsWorker"
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@ require "rails_helper"
|
|||
|
||||
RSpec.describe EmailDigest, type: :labor do
|
||||
describe "::send_digest_email" do
|
||||
it "enqueues Email::SendUserDigestWorker" do
|
||||
it "enqueues Emails::SendUserDigestWorker" do
|
||||
user = create(:user, email_digest_periodic: true)
|
||||
allow(Email::SendUserDigestWorker).to receive(:perform_async)
|
||||
allow(Emails::SendUserDigestWorker).to receive(:perform_async)
|
||||
described_class.send_periodic_digest_email
|
||||
expect(Email::SendUserDigestWorker).to have_received(:perform_async).with(user.id)
|
||||
expect(Emails::SendUserDigestWorker).to have_received(:perform_async).with(user.id)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
require "rails_helper"
|
||||
|
||||
RSpec.describe Email::EnqueueDigestWorker, type: :worker do
|
||||
RSpec.describe Emails::EnqueueDigestWorker, type: :worker do
|
||||
let(:worker) { subject }
|
||||
|
||||
include_examples "#enqueues_on_correct_queue", "medium_priority"
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
require "rails_helper"
|
||||
|
||||
RSpec.describe Email::SendUserDigestWorker, type: :worker do
|
||||
RSpec.describe Emails::SendUserDigestWorker, type: :worker do
|
||||
let(:worker) { subject }
|
||||
let(:user) { create(:user, email_digest_periodic: true) }
|
||||
let(:author) { create(:user) }
|
||||
Loading…
Add table
Reference in a new issue