import { PlataClusterManager } from "++/libs/cluster" export async function main() { const cluster = new PlataClusterManager() if (cluster.isPrimary()) { const clustersPromise: RequireFolderReturn<{ default: Cluster.WorkerConfig }> = require("@@/clusters/*.*") const clusters = await clustersPromise if (clusters.errorID !== undefined) { console.log(clusters) process.exit(0) } const promises: Promise[] = [] clusters.forEach(c => { const config = c.exports.default promises.push(cluster._startCluster(config).then(r => { if (r !== null) { console.log(r) process.exit(0) } })) }) await Promise.all(promises) } else { if (Plata.config._PLATA_WORKER_NAME === undefined) { await cluster.send({ action: 'KILL', msg: 'tried to start a Worker without _PLATA_WORKER_NAME' }) return } await cluster._onStartCluster( Plata.config._PLATA_WORKER_NAME, Plata.config._PLATA_WORKER_TYPE, ) } }