make ugoira webm+preview generation async

This commit is contained in:
r888888888
2014-10-17 15:41:16 -07:00
parent 5754dcb260
commit b1d5bb8272
2 changed files with 8 additions and 2 deletions

View File

@@ -3,6 +3,8 @@ class PixivUgoiraConverter
folder = Zip::File.new(source_path) folder = Zip::File.new(source_path)
write_webm(folder, output_path, frame_data) write_webm(folder, output_path, frame_data)
write_preview(folder, preview_path) write_preview(folder, preview_path)
RemoteFileManager.new(output_path).distribute
RemoteFileManager.new(preview_path).distribute
end end
def write_webm(folder, write_path, frame_data) def write_webm(folder, write_path, frame_data)

View File

@@ -10,7 +10,11 @@ class PixivUgoiraService
end end
def generate_resizes(source_path, output_path, preview_path) def generate_resizes(source_path, output_path, preview_path)
PixivUgoiraConverter.new.convert(source_path, output_path, preview_path, @frame_data) PixivUgoiraConverter.delay(:queue => Socket.gethostname).convert(source_path, output_path, preview_path, @frame_data)
# since the resizes will be delayed, just touch the output file so the
# file distribution wont break
FileUtils.touch([output_path, preview_path])
end end
def load(data) def load(data)