0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-01-09 16:30:37 -05:00

Improve partitioning and graphics error skiping mechanism

On the migration functions
This commit is contained in:
Andrey Antukh 2024-01-25 09:38:08 +01:00
parent 326be0df4f
commit 1b3e68f430
2 changed files with 10 additions and 10 deletions

View file

@ -1135,7 +1135,7 @@
(l/dbg :hint "migrate:file:start"
:file-id (str file-id)
:validate validate?
:skip-on-graphics-error skip-on-graphic-error?)
:skip-on-graphic-error skip-on-graphic-error?)
(let [system (update system ::sto/storage media/configure-assets-storage)]
(db/tx-run! system
@ -1183,7 +1183,7 @@
(migrate-file! system file-id
:label label
:validate? validate?
:skip-on-graphics-error? skip-on-graphic-error?))
:skip-on-graphic-error? skip-on-graphic-error?))
migrate-team
(fn [{:keys [::db/conn] :as system} team-id]
(let [{:keys [id features]} (get-team system team-id)]

View file

@ -235,7 +235,7 @@
(feat/migrate-team! team-id
:label label
:validate? validate?
:skip-on-graphics-error? skip-on-graphic-error?))
:skip-on-graphic-error? skip-on-graphic-error?))
(print-stats!
(-> (deref feat/*stats*)
(assoc :elapsed (dt/format-duration (tpoint)))))
@ -266,6 +266,7 @@
:or {validate? false
rollback? true
max-jobs 1
current-partition 1
skip-on-graphic-error? true
max-items Long/MAX_VALUE}}]
@ -300,7 +301,7 @@
(feat/migrate-team! system team-id
:label label
:validate? validate?
:skip-on-graphics-error? skip-on-graphic-error?)))
:skip-on-graphic-error? skip-on-graphic-error?)))
(when (string? label)
(report! main/system team-id label (tpoint) nil))
@ -333,9 +334,7 @@
:label label
:rollback rollback?
:max-jobs max-jobs
:max-items max-items
:partitions partitions
:current-partition current-partition)
:max-items max-items)
(add-watch stats :progress-report (report-progress-teams tpoint on-progress))
@ -359,9 +358,10 @@
(->> (get-teams conn query pred)
(take max-items)
(filter (fn [team-id]
(if (and (int? current-partition) (int? partitions))
(let [partition (mod (uuid/hash-int team-id) partitions)]
(= (dec current-partition) partition))
(if (int? partitions)
(= current-partition (-> (uuid/hash-int team-id)
(mod partitions)
(inc)))
true)))))
;; Close and await tasks