8784: Fix test for latest firefox.
[arvados.git] / services / api / lib / tasks / delete_old_job_logs.rake
index 7f2b31e1d61ae26aa1b8cfd3bb91f0b74f38c8bc..dec5f7243be92ccdfa71d7f2be3b3fbc1d54f8e2 100644 (file)
@@ -5,13 +5,8 @@
 namespace :db do
   desc "Remove old job stderr entries from the logs table"
   task delete_old_job_logs: :environment do
-    Log.select("logs.id").
-        joins("JOIN jobs ON object_uuid = jobs.uuid").
-        where("event_type = :etype AND jobs.log IS NOT NULL AND jobs.finished_at < :age",
-              etype: "stderr",
-              age: Rails.configuration.clean_job_log_rows_after.ago).
-        find_in_batches do |old_log_ids|
-      Log.where(id: old_log_ids.map(&:id)).delete_all
-    end
+    delete_sql = "DELETE FROM logs WHERE id in (SELECT logs.id FROM logs JOIN jobs ON logs.object_uuid = jobs.uuid WHERE event_type = 'stderr' AND jobs.log IS NOT NULL AND clock_timestamp() - jobs.finished_at > interval '#{Rails.configuration.clean_job_log_rows_after} seconds')"
+
+    ActiveRecord::Base.connection.execute(delete_sql)
   end
 end