mirror of
https://gitlab.com/bignutty/labscore.git
synced 2025-06-07 13:43:06 -04:00
46 lines
No EOL
1.8 KiB
JavaScript
46 lines
No EOL
1.8 KiB
JavaScript
const { ClusterManager } = require('detritus-client');
|
|
const { basecamp } = require('./labscore/logging');
|
|
const superagent = require('superagent')
|
|
|
|
const time = Date.now();
|
|
|
|
const token = process.env.token;
|
|
|
|
// Get the correct path for each environment type
|
|
let client = `../${__dirname}/labscore/client.js`
|
|
if(process.env.environment == "local") client = `./labscore/client.js`
|
|
if(["production","prodnew"].includes(process.env.environment.toLowerCase())) client = `./labscore/labscore/client.js`;
|
|
|
|
const SHARDS = process.env.SHARDS || 2;
|
|
const SHARDS_PER_CLUSTER = process.env.SHARDS_PER_CLUSTER_OVERRIDE || 2;
|
|
|
|
const manager = new ClusterManager(client, token, {
|
|
shardCount: SHARDS,
|
|
shardsPerCluster: SHARDS_PER_CLUSTER,
|
|
});
|
|
|
|
(async () => {
|
|
console.log(`v2 | starting v2.`)
|
|
|
|
// Logging
|
|
manager.on("clusterProcess", ({ clusterProcess }) => {
|
|
clusterProcess.on('close', ({code, signal}) => {
|
|
basecamp(`<:ico_w4:1086624964284788787>\`[${process.env.HOSTNAME}]\` **\` CLUSTER_CLOSED \`** Cluster ${clusterProcess.clusterId} closed with code \`${code}\` and signal \`${signal}\` @ \`${Date.now()}\``)
|
|
});
|
|
clusterProcess.on('warn', async ({error}) => {
|
|
await basecamp(`<:ico_w2:1086624961025810485>\`[${process.env.HOSTNAME}]\` **\` CLUSTER_WARNING \`** Cluster ${clusterProcess.clusterId} issued warning @ \`${Date.now()}\``)
|
|
await basecamp(`\`\`\`js\n${error}\`\`\``)
|
|
});
|
|
})
|
|
|
|
await manager.run();
|
|
console.log(`v2 | ready. took ${(Date.now() - time) / 1000}.`)
|
|
|
|
if(process.env.environment.toLowerCase() == "prod"){
|
|
let liveDeploy = await superagent.get(`${process.env.PB_MANAGER_HOST}_pbs/v1/GetPbServiceId`)
|
|
if(process.env.HOSTNAME !== liveDeploy.body.d){
|
|
console.log(`[${process.env.HOSTNAME}] invalid deployment session`)
|
|
process.exit();
|
|
}
|
|
}
|
|
})(); |