Хотите отправлять электронные письма через каждые 2 минуты на адреса электронной почты из таблицы исключений.
Я пытался использовать sidekiq и delayed_job, но письма отправляются с задержкой, но в то же время.
Пробная задержка, delay_for и некоторые методы, но не помогающие
рабочий файл
class MarketingEmailsWorker
include Sidekiq::Worker
def perform(*args)
EmailList.read_file(args)
end
end
EmailList.rb
модель
def self.read_file(record)
list = EmailList.find(record).last
spreadsheet = Roo::Spreadsheet.open(list.file.path, extension: :xlsx)
header = spreadsheet.row(1)
(2..spreadsheet.last_row).each do |i|
row = Hash[[header, spreadsheet.row(i)].transpose]
email = row["Email"]
if email.present?
geography= row["Geography"].to_s
lname = row["Name"]
designation = row["Designation"]
Notifier.send_template_mail(geography,email,lname,designation,list.emails_template).deliver_now
end
end
end