[deploy] Refactor:Cleanup Naming and Optimize Email Digest Code (#10054)

This commit is contained in:
Molly Struve 2020-08-28 13:36:11 -05:00 committed by GitHub
parent ba8b3dd443
commit 8a44eb9421
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 12 additions and 10 deletions

View file

@ -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

View file

@ -1,4 +1,4 @@
module Email
module Emails
class EnqueueDigestWorker
include Sidekiq::Worker

View file

@ -1,4 +1,4 @@
module Email
module Emails
class SendUserDigestWorker
include Sidekiq::Worker

View file

@ -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"

View file

@ -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

View file

@ -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"

View file

@ -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) }