42 lines
727 B
Ruby
42 lines
727 B
Ruby
class EmailCron
|
|
@queue = :mail
|
|
|
|
def self.perform
|
|
|
|
@datas = MailCron.where(:mail_sentdate.lte => Time.now)
|
|
|
|
@datas.each do |mail_data|
|
|
|
|
@mail_j = 0
|
|
@read_mails = Array.new
|
|
|
|
@mails = mail_data.mail_to.split(",")
|
|
|
|
@mails.each do |send_mail|
|
|
|
|
@read_mails << send_mail
|
|
|
|
@mail_j += 1
|
|
|
|
if 0 == @mail_j % 30
|
|
MailCronMailer.cron_mail( mail_data.id, @read_mails.join(',') ).deliver
|
|
@read_mails = Array.new
|
|
|
|
sleep 10
|
|
end
|
|
|
|
end
|
|
|
|
if !@read_mails.join(',').blank?
|
|
MailCronMailer.cron_mail( mail_data.id, @read_mails.join(',') ).deliver
|
|
@read_mails = Array.new
|
|
|
|
sleep 10
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
end |