diff --git a/app/labor/email_digest.rb b/app/services/email_digest.rb similarity index 71% rename from app/labor/email_digest.rb rename to app/services/email_digest.rb index ad6f0a47b..99dd995f1 100644 --- a/app/labor/email_digest.rb +++ b/app/services/email_digest.rb @@ -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 diff --git a/app/labor/email_logic.rb b/app/services/email_logic.rb similarity index 100% rename from app/labor/email_logic.rb rename to app/services/email_logic.rb diff --git a/app/workers/email/enqueue_digest_worker.rb b/app/workers/emails/enqueue_digest_worker.rb similarity index 93% rename from app/workers/email/enqueue_digest_worker.rb rename to app/workers/emails/enqueue_digest_worker.rb index dd296e94b..8b7f3239d 100644 --- a/app/workers/email/enqueue_digest_worker.rb +++ b/app/workers/emails/enqueue_digest_worker.rb @@ -1,4 +1,4 @@ -module Email +module Emails class EnqueueDigestWorker include Sidekiq::Worker diff --git a/app/workers/email/send_user_digest_worker.rb b/app/workers/emails/send_user_digest_worker.rb similarity index 98% rename from app/workers/email/send_user_digest_worker.rb rename to app/workers/emails/send_user_digest_worker.rb index e972cb6b1..bbffe160c 100644 --- a/app/workers/email/send_user_digest_worker.rb +++ b/app/workers/emails/send_user_digest_worker.rb @@ -1,4 +1,4 @@ -module Email +module Emails class SendUserDigestWorker include Sidekiq::Worker diff --git a/config/schedule.yml b/config/schedule.yml index 9af38e281..28ac9d9d4 100644 --- a/config/schedule.yml +++ b/config/schedule.yml @@ -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" diff --git a/spec/labor/email_digest_spec.rb b/spec/services/email_digest_spec.rb similarity index 52% rename from spec/labor/email_digest_spec.rb rename to spec/services/email_digest_spec.rb index 9967c2d31..3c4150e76 100644 --- a/spec/labor/email_digest_spec.rb +++ b/spec/services/email_digest_spec.rb @@ -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 diff --git a/spec/labor/email_logic_spec.rb b/spec/services/email_logic_spec.rb similarity index 100% rename from spec/labor/email_logic_spec.rb rename to spec/services/email_logic_spec.rb diff --git a/spec/workers/email/enqueue_digest_worker_spec.rb b/spec/workers/emails/enqueue_digest_worker_spec.rb similarity index 85% rename from spec/workers/email/enqueue_digest_worker_spec.rb rename to spec/workers/emails/enqueue_digest_worker_spec.rb index 5fd337ca6..6931e435c 100644 --- a/spec/workers/email/enqueue_digest_worker_spec.rb +++ b/spec/workers/emails/enqueue_digest_worker_spec.rb @@ -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" diff --git a/spec/workers/email/send_user_digest_worker_spec.rb b/spec/workers/emails/send_user_digest_worker_spec.rb similarity index 96% rename from spec/workers/email/send_user_digest_worker_spec.rb rename to spec/workers/emails/send_user_digest_worker_spec.rb index bfef8863b..367b76351 100644 --- a/spec/workers/email/send_user_digest_worker_spec.rb +++ b/spec/workers/emails/send_user_digest_worker_spec.rb @@ -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) }