parent
31e8ad98ae
commit
41d983e904
@ -0,0 +1,33 @@
|
|||||||
|
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
|
||||||
|
Mailer.issue_add(issue).deliver
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
threads << thread
|
||||||
|
end
|
||||||
|
puts threads
|
||||||
|
return threads
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in new issue