根据开服天数,计算开启进程数量

This commit is contained in:
ciniao 2023-12-14 10:31:39 +08:00
parent aefd1d0052
commit afbfa70926

View File

@ -29,6 +29,25 @@ if (env.SERVER_ID) {
//读取服务配置
const config = fs.existsSync(path.resolve(__dirname, 'config.json')) ? JSON.parse(fs.readFileSync(path.resolve(__dirname, 'config.json'), 'utf-8')) : {};
const dis = config.serverId != undefined ? config.serverId : '0';
let instancesNum = 8;
if(config.openTime){
let openDate = new Date(config.openTime);
//计算openTime距离今天的天数
let today = new Date();
// 获取两个日期之间的毫秒差
let timeDiff = today.getTime() - openDate.getTime();
// 将毫秒差转换为天数
let daysDiff = Math.floor(timeDiff / (1000 * 3600 * 24));
console.log(`已开服天数:${daysDiff}`);
//如果开服超过3天的区则只开区2个进程
if(daysDiff > 3){
instancesNum = 2;
}
}
const localApps = [
{
// 应用程序名称
@ -38,7 +57,7 @@ const localApps = [
// 应用程序所在的目录
cwd: './',
//集群实例数量0表示根据cpu核心数自动控制
instances: 8,
instances: instancesNum,
// 传递给脚本的参数
args: '-serverType msg',
// 是否启用监控模式默认是false。如果设置成true当应用程序变动时pm2会自动重载。这里也可以设置你要监控的文件。