[deploy] Refactor:Move send_email_digest Rake Task to Sidekiq (#9929)

This commit is contained in:
Molly Struve 2020-08-22 08:26:30 -05:00 committed by GitHub
parent 46acac17dc
commit 4308914fe8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 27 additions and 6 deletions

View file

@ -0,0 +1,9 @@
class SendEmailDigestWorker
include Sidekiq::Worker
sidekiq_options queue: :medium_priority, retry: 15
def perform
EmailDigest.send_periodic_digest_email
end
end

View file

@ -71,3 +71,6 @@ expire_old_listings:
send_welcome_notifications:
cron: "0 16 * * *" # daily at 4 pm UTC
class: "Broadcasts::SendWelcomeNotificationsWorker"
send_email_digest:
cron: "30 11 * * 3,4,5,6" # 11:30 am UTC Wed, Thurs, Fri, Sat, Sun
class: "SendEmailDigestWorker"

View file

@ -20,12 +20,6 @@ task github_repo_fetch_all: :environment do
GithubRepo.update_to_latest
end
task send_email_digest: :environment do
if Time.current.wday >= 3
EmailDigest.send_periodic_digest_email
end
end
task remove_old_html_variant_data: :environment do
HtmlVariantTrial.destroy_by("created_at < ?", 2.weeks.ago)
HtmlVariantSuccess.destroy_by("created_at < ?", 2.weeks.ago)

View file

@ -0,0 +1,15 @@
require "rails_helper"
RSpec.describe SendEmailDigestWorker, type: :worker do
let(:worker) { subject }
include_examples "#enqueues_on_correct_queue", "medium_priority"
describe "#perform" do
it "sends periodic digest email" do
allow(EmailDigest).to receive(:send_periodic_digest_email)
worker.perform
expect(EmailDigest).to have_received(:send_periodic_digest_email)
end
end
end