From 7c4ffcb413102a430ad675e1f481aab5792999b4 Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Thu, 18 Aug 2016 00:14:32 -0700 Subject: [PATCH] ScreenshotWorker: garbage collection improvements --- workers/screenshot_worker.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/workers/screenshot_worker.rb b/workers/screenshot_worker.rb index 53e84c10..51eb21c5 100644 --- a/workers/screenshot_worker.rb +++ b/workers/screenshot_worker.rb @@ -41,6 +41,8 @@ class ScreenshotWorker #else # raise #end + ensure + screenshot.unlink end img_list = Magick::ImageList.new @@ -51,6 +53,7 @@ class ScreenshotWorker img_list.new_image(img_list.first.columns, img_list.first.rows) { self.background_color = "white" } img = img_list.reverse.flatten_images + img_list.destroy! user_screenshots_path = File.join SCREENSHOTS_PATH, username screenshot_path = File.join user_screenshots_path, File.dirname(path) @@ -68,7 +71,14 @@ class ScreenshotWorker new_img.write(File.join(user_screenshots_path, "#{path}.#{res}.jpg")) { self.quality = 90 } + new_img.destroy! end + + img.destroy! + + GC.start full_mark: true, immediate_sweep: true + + true end sidekiq_retries_exhausted do |msg|