diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2022-08-25 23:38:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-25 23:38:22 +0200 |
commit | 0b3e4fd5de392969b624719b2eb3f86277b6ac1f (patch) | |
tree | 3a036e1d0652ed199be6fc09ce0cd4a3ac398c5f /app/workers | |
parent | 5b0e8cc92b9ca0ab0dc24366d95f67a88c470173 (diff) |
Remove digest e-mails (#17985)
* Remove digest e-mails * Remove digest-related code
Diffstat (limited to 'app/workers')
-rw-r--r-- | app/workers/digest_mailer_worker.rb | 21 | ||||
-rw-r--r-- | app/workers/scheduler/email_scheduler.rb | 25 |
2 files changed, 0 insertions, 46 deletions
diff --git a/app/workers/digest_mailer_worker.rb b/app/workers/digest_mailer_worker.rb deleted file mode 100644 index 21f1c357a..000000000 --- a/app/workers/digest_mailer_worker.rb +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true - -class DigestMailerWorker - include Sidekiq::Worker - - sidekiq_options queue: 'mailers' - - attr_reader :user - - def perform(user_id) - @user = User.find(user_id) - deliver_digest if @user.allows_digest_emails? - end - - private - - def deliver_digest - NotificationMailer.digest(user.account).deliver_now! - user.touch(:last_emailed_at) - end -end diff --git a/app/workers/scheduler/email_scheduler.rb b/app/workers/scheduler/email_scheduler.rb deleted file mode 100644 index c052f2fce..000000000 --- a/app/workers/scheduler/email_scheduler.rb +++ /dev/null @@ -1,25 +0,0 @@ -# frozen_string_literal: true - -class Scheduler::EmailScheduler - include Sidekiq::Worker - - sidekiq_options retry: 0 - - FREQUENCY = 7.days.freeze - SIGN_IN_OFFSET = 1.day.freeze - - def perform - eligible_users.reorder(nil).find_each do |user| - next unless user.allows_digest_emails? - DigestMailerWorker.perform_async(user.id) - end - end - - private - - def eligible_users - User.emailable - .where('current_sign_in_at < ?', (FREQUENCY + SIGN_IN_OFFSET).ago) - .where('last_emailed_at IS NULL OR last_emailed_at < ?', FREQUENCY.ago) - end -end |