fix: worker

This commit is contained in:
Andras Bacsai 2022-08-25 12:49:09 +00:00
parent 6be1fbacde
commit 71c15e0ff5
4 changed files with 974 additions and 510 deletions

View File

@ -44,6 +44,7 @@
"node-forge": "1.3.1",
"node-os-utils": "1.3.7",
"p-all": "4.0.0",
"p-throttle": "5.0.0",
"public-ip": "6.0.1",
"ssh-config": "4.1.6",
"strip-ansi": "7.0.1",

View File

@ -18,10 +18,17 @@ import * as buildpacks from '../lib/buildPacks';
}
});
try {
parentPort.postMessage({ deploying: true });
const pThrottle = await import('p-throttle')
const throttle = pThrottle.default({
limit: 1,
interval: 2000
});
const th = throttle(async () => {
const queuedBuilds = await prisma.build.findMany({ where: { status: 'queued' }, orderBy: { createdAt: 'asc' } });
const { concurrentBuilds } = await prisma.setting.findFirst({})
if (queuedBuilds.length > 0) {
parentPort.postMessage({ deploying: true });
const concurrency = concurrentBuilds;
const pAll = await import('p-all');
const actions = []
@ -349,9 +356,16 @@ import * as buildpacks from '../lib/buildPacks';
}
await pAll.default(actions, { concurrency })
}
} catch (error) { } finally {
await prisma.$disconnect();
process.exit(0);
})
while (true) {
await th()
}
} catch (error) {
} finally {
await prisma.$disconnect()
}
} else process.exit(0);
})();

View File

@ -134,9 +134,32 @@ export const asyncExecShellStream = async ({ debug, buildId, applicationId, comm
export const asyncSleep = (delay: number): Promise<unknown> =>
new Promise((resolve) => setTimeout(resolve, delay));
export const prisma = new PrismaClient({
errorFormat: 'minimal'
errorFormat: 'minimal',
log: [
{
emit: 'event',
level: 'query',
},
{
emit: 'stdout',
level: 'error',
},
{
emit: 'stdout',
level: 'info',
},
{
emit: 'stdout',
level: 'warn',
},
],
});
// prisma.$on('query', (e) => {
// console.log('Query: ' + e.query)
// console.log('Params: ' + e.params)
// console.log('Duration: ' + e.duration + 'ms')
// })
export const base64Encode = (text: string): string => {
return Buffer.from(text).toString('base64');
};

File diff suppressed because it is too large Load Diff