From 5eb3e1bbea5d3eaba7766294031bb577dff7cc37 Mon Sep 17 00:00:00 2001 From: Santeri Korri Date: Wed, 18 Dec 2024 08:33:55 +0200 Subject: [PATCH] =?UTF-8?q?OY-5023=20Estet=C3=A4=C3=A4n=20tilanne=20jossa?= =?UTF-8?q?=20JVM:=C3=A4n=20kaatuminen=20preview-generoinnissa=20aiheuttaa?= =?UTF-8?q?=20kaatumisloopin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Aikaisemmin tiedoston preview-generoinnin tilaa muutettiin vasta kun generointia oli yritetty. Tästä seurasi että mikäli generointi kaatoi JVM:än sitä yritettiin aina uudestaan samoin tuloksin. Nyt lisätty generointiin uusi tila started jolloin sitä ei käynnistetä enää uudestaan. --- .../migrations/V20241217160000__add_started_preview_status.sql | 1 + src/liiteri/preview/preview_generator.clj | 3 +++ src/liiteri/schema.clj | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 resources/migrations/V20241217160000__add_started_preview_status.sql diff --git a/resources/migrations/V20241217160000__add_started_preview_status.sql b/resources/migrations/V20241217160000__add_started_preview_status.sql new file mode 100644 index 0000000..10a145b --- /dev/null +++ b/resources/migrations/V20241217160000__add_started_preview_status.sql @@ -0,0 +1 @@ +ALTER TYPE preview_generation_status ADD VALUE 'started' AFTER 'not_generated'; \ No newline at end of file diff --git a/src/liiteri/preview/preview_generator.clj b/src/liiteri/preview/preview_generator.clj index 08ae1f3..9bccc07 100644 --- a/src/liiteri/preview/preview_generator.clj +++ b/src/liiteri/preview/preview_generator.clj @@ -31,6 +31,9 @@ uploaded :uploaded} file] (try (log/info (format "Generating previews for '%s' with key '%s', uploaded on %s ..." filename file-key uploaded)) + ; Tämä on varotoimenpide tapauksille joissa generointi kaataa JVM:än. Ilman tilan päivitystä generointia yritään + ; aina uudestaan samoin (huonoin) tuloksin koska tiedosto on edelleen not started -tilassa. + (metadata-store/set-file-page-count-and-preview-status! file-key nil "started" conn) (with-open [input-stream (file-store/get-file storage-engine file-key)] (let [preview-timeout-ms (get-in config [:preview-generator :preview-timeout-ms] 45000) [page-count previews] (.invokeAny timeout-scheduler [#(try diff --git a/src/liiteri/schema.clj b/src/liiteri/schema.clj index 54ac327..6b23324 100644 --- a/src/liiteri/schema.clj +++ b/src/liiteri/schema.clj @@ -22,6 +22,6 @@ :final s/Bool :uploaded DateTime :deleted (s/maybe DateTime) - :preview-status (s/enum "not_supported" "not_generated" "finished" "error") + :preview-status (s/enum "not_supported" "not_generated" "started" "finished" "error") :previews [Preview] (s/optional-key :content-disposition) (s/maybe s/Str)})