37 lines
1.2 KiB
Ruby
37 lines
1.2 KiB
Ruby
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 |