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