mirror of
https://github.com/docusealco/docuseal
synced 2026-11-04 06:42:32 -05:00
adjust generate previews
This commit is contained in:
1 parent
28c4177128
commit
ced5ab67ab
1 file changed
+16
-11
@@ -90,23 +90,28 @@ module Templates
|
|||||||
|
|
||||||
pool = Concurrent::FixedThreadPool.new(concurrency)
|
pool = Concurrent::FixedThreadPool.new(concurrency)
|
||||||
|
|
||||||
promises =
|
blobs =
|
||||||
range.map do |page_number|
|
range.each_slice(concurrency).flat_map do |page_numbers|
|
||||||
doc_page = doc.get_page(page_number)
|
promises =
|
||||||
|
page_numbers.map do |page_number|
|
||||||
|
doc_page = doc.get_page(page_number)
|
||||||
|
|
||||||
hide_placeholder_widgets(doc_page, hide_empty: !flatten_pages)
|
hide_placeholder_widgets(doc_page, hide_empty: !flatten_pages)
|
||||||
doc_page.flatten if flatten_pages
|
doc_page.flatten if flatten_pages
|
||||||
|
|
||||||
bytes, width, height = doc_page.render_to_bitmap(width: MAX_WIDTH)
|
bytes, width, height = doc_page.render_to_bitmap(width: MAX_WIDTH)
|
||||||
|
|
||||||
image = Vips::Image.new_from_memory_copy(bytes, width, height, 4, :uchar)
|
image = Vips::Image.new_from_memory_copy(bytes, width, height, 4, :uchar)
|
||||||
|
|
||||||
Concurrent::Promise.execute(executor: pool) { build_and_upload_blob(image, page_number) }
|
Concurrent::Promise.execute(executor: pool) { build_and_upload_blob(image, page_number) }
|
||||||
ensure
|
ensure
|
||||||
doc_page&.close
|
doc_page&.close
|
||||||
|
end
|
||||||
|
|
||||||
|
Concurrent::Promise.zip(*promises).value!
|
||||||
end
|
end
|
||||||
|
|
||||||
Concurrent::Promise.zip(*promises).value!.each do |blob|
|
blobs.each do |blob|
|
||||||
next unless blob
|
next unless blob
|
||||||
|
|
||||||
ApplicationRecord.no_touching do
|
ApplicationRecord.no_touching do
|
||||||
|
|||||||
Reference in new issue
Block a user