perf(import): parallelize ID allocation and raise clone concurrency to 10
Replace the serialized SELECT MAX + INSERT id-allocation chains for items_base and catalog_items with a lazy-seeded in-process counter so concurrent clone workers no longer queue on a global lock per item. Re-seeds after 60s idle to avoid colliding with externally added rows. Raise the clone import concurrency default from 6 to the batch cap of 10.
This commit is contained in:
1 parent
742536820a
commit
172941c542
8 files changed
+144
-52
No files matched your search
@@ -82,12 +82,16 @@ vi.mock("@/lib/services/swf/nitro-builder", () => ({
|
||||
parseNitroBundle: vi.fn(() => ({ json: { xdim: 1, ydim: 1 } })),
|
||||
}));
|
||||
|
||||
import { uploadSingleFurni } from "./upload-import";
|
||||
import {
|
||||
__resetUploadItemsBaseAllocatorForTests,
|
||||
uploadSingleFurni,
|
||||
} from "./upload-import";
|
||||
|
||||
describe("uploadSingleFurni live asset mirrors", () => {
|
||||
let tempDir: string;
|
||||
|
||||
beforeEach(async () => {
|
||||
__resetUploadItemsBaseAllocatorForTests();
|
||||
tempDir = await fs.mkdtemp(path.join(os.tmpdir(), "upload-furni-"));
|
||||
assetTargets.swfDir = path.join(tempDir, "cms", "swf");
|
||||
assetTargets.iconDir = path.join(tempDir, "cms", "icons");
|
||||
|
||||
Reference in new issue
Block a user