[deploy] Refactor:Move send_email_digest Rake Task to Sidekiq (#9929)
This commit is contained in:
parent
46acac17dc
commit
4308914fe8
4 changed files with 27 additions and 6 deletions
9
app/workers/send_email_digest_worker.rb
Normal file
9
app/workers/send_email_digest_worker.rb
Normal 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
|
||||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
15
spec/workers/send_email_digest_worker_spec.rb
Normal file
15
spec/workers/send_email_digest_worker_spec.rb
Normal 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
|
||||
Loading…
Add table
Reference in a new issue