class IssueOverdue < ActiveRecord::Base #缺陷到期后发送邮件提示 #只监听已经提交的未到期的缺陷,已过期的缺陷默认已经发过邮件通知,不再提醒。 def self.mail_issue # threads = [] # issues = Issue.where("done_ratio <> 100 and closed_on is null and due_date is not null") # puts issues # issues.each do |issue| # thread = Thread.new do # while true # cur_issue = Issue.find issue.id # if cur_issue.done_ratio == 100 || cur_issue.closed_on != nil # break # end # if Time.now < Time.parse(cur_issue.due_date.to_s) # #休眠一个小时。。。 # puts cur_issue.id.to_s # sleep 5 # else # #发邮件 # #puts "11" + issue.id.to_s # #Mailer.issue_expire(issue).deliver # recipients = issue.recipients # recipients.each do |rec| # # Mailer.issue_edit(issue,rec).deliver # end # break # end # end # end # threads << thread # end # puts threads # return threads end end