mirror of
https://gitlab.com/bignutty/labscore.git
synced 2025-06-07 13:43:06 -04:00
add example env, "improve" selfhostability
This commit is contained in:
parent
99bac88155
commit
07ceaac9d9
5 changed files with 108 additions and 8 deletions
14
index.js
14
index.js
|
@ -7,8 +7,8 @@ const time = Date.now();
|
|||
const token = process.env.token;
|
||||
|
||||
// Get the correct path for each environment type
|
||||
let client = `./labscore/labscore/client.js`;
|
||||
if(process.env.environment === "local") client = `./labscore/client.js`;
|
||||
let client = "./labscore/client.js"
|
||||
if(process.env.PATH_OVERRIDE) client = process.env.PATH_OVERRIDE;
|
||||
|
||||
const SHARDS = process.env.SHARDS || 2;
|
||||
const SHARDS_PER_CLUSTER = process.env.SHARDS_PER_CLUSTER_OVERRIDE || 2;
|
||||
|
@ -19,26 +19,26 @@ const manager = new ClusterManager(client, token, {
|
|||
});
|
||||
|
||||
(async () => {
|
||||
console.log(`[${process.env.HOSTNAME}] launching bot`)
|
||||
console.log(`[${process.env.HOSTNAME || "labscore"}] launching bot`)
|
||||
|
||||
// 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()}\``)
|
||||
basecamp(`<:ico_w4:1086624964284788787>\`[${process.env.HOSTNAME || "labscore"}]\` **\` 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(`<:ico_w2:1086624961025810485>\`[${process.env.HOSTNAME || "labscore"}]\` **\` CLUSTER_WARNING \`** Cluster ${clusterProcess.clusterId} issued warning @ \`${Date.now()}\``)
|
||||
await basecamp(`\`\`\`js\n${error}\`\`\``)
|
||||
});
|
||||
})
|
||||
|
||||
await manager.run();
|
||||
console.log(`[${process.env.HOSTNAME}] bot ready. took ${(Date.now() - time) / 1000}.`)
|
||||
console.log(`[${process.env.HOSTNAME || "labscore"}] bot ready. took ${(Date.now() - time) / 1000}.`)
|
||||
|
||||
// This is kind of a hack.
|
||||
// Our current deployment system has a tendency to launch the bot twice, this "ensures" that
|
||||
// incorrect instances close again. This should *probably* just be moved to dirigent instead.
|
||||
if(process.env.environment.toLowerCase() === "prod"){
|
||||
if(process.env.PB_MANAGER_HOST){
|
||||
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`)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue