fix: fence concurrent ZIP archive builds

This commit is contained in:
237899745
2026-07-26 05:47:19 +08:00
parent 037e83e92f
commit 923ba495c4
16 changed files with 777 additions and 70 deletions

View File

@@ -0,0 +1,12 @@
ALTER TABLE tasks
ADD COLUMN zip_build_token UUID,
ADD COLUMN zip_build_lease_until TIMESTAMPTZ,
ADD COLUMN zip_build_attempt BIGINT NOT NULL DEFAULT 0;
ALTER TABLE tasks
ADD CONSTRAINT tasks_zip_build_lease_pair_check
CHECK ((zip_build_token IS NULL) = (zip_build_lease_until IS NULL));
CREATE INDEX idx_tasks_zip_build_lease
ON tasks(zip_build_lease_until)
WHERE zip_storage_key IS NULL AND zip_build_token IS NOT NULL;