Next build workers were each opening up to DATABASE_POOL_SIZE connections and exhausting MySQL (pool active=0), hanging sitemap generation. Cap build pool to 5, fail connect faster, limit SSG concurrency, and make sitemap dynamic. Co-authored-by: Cursor <[email protected]>
17 lines
421 B
TypeScript
17 lines
421 B
TypeScript
/**
|
||
* Cap pool size during `next build` so N workers × pool don't exhaust MySQL.
|
||
* Kept free of Prisma/env imports so unit tests can exercise it in isolation.
|
||
*/
|
||
export function resolvePrismaConnectionLimit(
|
||
poolSize: number,
|
||
phase = process.env.NEXT_PHASE,
|
||
): number {
|
||
if (
|
||
phase === "phase-production-build" ||
|
||
phase === "phase-production-compile"
|
||
) {
|
||
return Math.min(poolSize, 5);
|
||
}
|
||
return poolSize;
|
||
}
|