Revision 9fde85ad
Added by Dominic Cleal over 9 years ago
app/models/report.rb | ||
---|---|---|
cond += " and reports.status = #{status}" unless status.nil?
|
||
|
||
Log.joins(:report).where(:report_id => Report.where(cond)).delete_all
|
||
Message.where("id not IN (#{Log.select(:message_id).to_sql})").delete_all
|
||
Source.where("id not IN (#{Log.select(:source_id).to_sql})").delete_all
|
||
Message.where("id not IN (#{Log.select('DISTINCT message_id').to_sql})").delete_all
|
||
Source.where("id not IN (#{Log.select('DISTINCT source_id').to_sql})").delete_all
|
||
count = Report.where(cond).delete_all
|
||
logger.info Time.now.to_s + ": Expired #{count} Reports"
|
||
count
|
Also available in: Unified diff
fixes #8565 - only get unique, unused message/source IDs to speed up expiry