26 lines
700 B
Ruby
26 lines
700 B
Ruby
# setts all products to check or not their quantity
|
|
class SendNewsletterJob < ApplicationJob
|
|
queue_as :default
|
|
|
|
def perform
|
|
loop do
|
|
emails = Email.where('sended = 0')
|
|
break if emails.count.zero?
|
|
begin
|
|
emails.each do |em|
|
|
NewsletterMailer.news_mail(em.email).deliver
|
|
em.sended = true
|
|
em.save
|
|
sleep(6)
|
|
end
|
|
rescue Net::SMTPUnknownError => e
|
|
# Net::SMTPUnknownError (could not get 3xx (550: 550 5.4.5
|
|
# Daily user sending quota exceeded. p3sm37406639wrx.71 - gsmtp
|
|
Rails.logger.error e.message
|
|
Rails.logger.error e.backtrace.join("\n")
|
|
sleep(3600)
|
|
end
|
|
end
|
|
end
|
|
end
|