feat: add spreadsheet async imports

This commit is contained in:
Codex
2026-06-29 08:00:17 +08:00
parent 78a26d1df2
commit eee21f6eed
27 changed files with 2972 additions and 267 deletions

View File

@@ -4,6 +4,8 @@ import { processCrmBatch } from './jobs/crm.js';
import { processCommerceBatch } from './jobs/commerce.js';
import { processAssetBatch } from './jobs/assets.js';
const extraClosers = new Set<() => Promise<void>>();
function hasArg(name: string) {
return process.argv.includes(name);
}
@@ -37,6 +39,17 @@ async function runOnce() {
);
return;
}
if (job === 'imports') {
const { closeImportExecutorPool, processImportBatch } = await import('./jobs/imports.js');
extraClosers.add(closeImportExecutorPool);
const result = await processImportBatch();
console.log(
`[worker] imports batch processed=${result.processed}`
+ ` completed=${result.completed} completedWithErrors=${result.completedWithErrors}`
+ ` failed=${result.failed} retrying=${result.retrying} skipped=${result.skipped}`,
);
return;
}
throw new Error(`Unsupported worker job: ${job}`);
}
@@ -66,5 +79,8 @@ try {
await runOnce();
}
} finally {
for (const closeExtra of extraClosers) {
await closeExtra();
}
await closePool();
}