Compare commits

..

4 Commits

Author SHA1 Message Date
xichaoyin
cfcf9c7027 Merge branch 'bugfix' into dev 2024-01-11 14:51:27 +08:00
xichaoyin
847613db4a fix:丛林狩猎定时器修复 2024-01-11 14:51:17 +08:00
2c3d53899e 去掉多余的环境变量,解决pm2集群启动失败问题 2024-01-11 11:23:08 +08:00
xichaoyin
325ed8745c fix:时区脚本修复 2024-01-11 11:20:14 +08:00
3 changed files with 25 additions and 18 deletions

View File

@ -1,7 +1,7 @@
import {PublicShared} from '../../shared/public/public'; import { PublicShared } from '../../shared/public/public';
import {EmailFun} from '../email'; import { EmailFun } from '../email';
import {RankClslCross} from '../rank/rank_clsl'; import { RankClslCross } from '../rank/rank_clsl';
import {Scheduler, schedulerType} from './scheduler'; import { Scheduler, schedulerType } from './scheduler';
/** /**
* *
@ -26,12 +26,12 @@ export class SchedulerClslLocalCtor extends Scheduler {
// 修改clslCrossUser表中的uid为del_uid_week 并且 设置ttltime为当前时间 // 修改clslCrossUser表中的uid为del_uid_week 并且 设置ttltime为当前时间
await G.mongodb.collection('clslCrossUser').updateMany( await G.mongodb.collection('clslCrossUser').updateMany(
{ {
ttltime: {$exists: false} ttltime: { $exists: false }
}, {$rename: {"uid": `del_uid_${week}`}, $set: {"ttltime": new Date()}} }, { $rename: { "uid": `del_uid_${week}` }, $set: { "ttltime": new Date() } }
); );
// 获取分组信息 重置排行榜 // 获取分组信息 重置排行榜
let groups = await G.mongodb.collection('clslCrossGroup').findOne({week}); let groups = await G.mongodb.collection('clslCrossGroup').findOne({ week });
Object.keys(groups.groups).forEach((group) => { Object.keys(groups.groups).forEach((group) => {
// 清理排行数据 // 清理排行数据
new RankClslCross(group).clear(); new RankClslCross(group).clear();
@ -64,7 +64,7 @@ export class SchedulerClslCrossCtor extends Scheduler {
async start() { async start() {
let week = PublicShared.getToWeek(); let week = PublicShared.getToWeek();
let users = await G.mongodb.collection('clslCrossUser').find({ let users = await G.mongodb.collection('clslCrossUser').find({
ttltime: {$exists: false} ttltime: { $exists: false }
}, { }, {
projection: { projection: {
"uid": 1, "uid": 1,
@ -118,15 +118,15 @@ export class SchedulerClslCrossCtor extends Scheduler {
// 更新玩家分组id // 更新玩家分组id
for (let group in groups) { for (let group in groups) {
await G.mongodb.collection('clslCrossUser').updateMany({uid: {$in: groups[group].users}}, {$set: {group: group}}); await G.mongodb.collection('clslCrossUser').updateMany({ uid: { $in: groups[group].users } }, { $set: { group: group } });
} }
// 记录分组 // 记录分组
await G.mongodb.collection("clslCrossGroup").updateOne({week: week}, {$set: {groups: groups}}, {upsert: true}); await G.mongodb.collection("clslCrossGroup").updateOne({ week: week }, { $set: { groups: groups } }, { upsert: true });
// 初始化丛林猎手排行榜 // 初始化丛林猎手排行榜
G.mongodb.collection('clslCrossUser').find({ G.mongodb.collection('clslCrossUser').find({
allStar: {$gte: this.star}, ttltime: {$exists: false} allStar: { $gte: this.star }, ttltime: { $exists: false }
}).toArray().then(users => { }).toArray().then(users => {
users.forEach(u => { users.forEach(u => {
new RankClslCross(u.group).addNew({ new RankClslCross(u.group).addNew({
@ -161,7 +161,13 @@ export class SchedulerClslPrize extends Scheduler {
async start() { async start() {
// 排名奖励 // 排名奖励
let group2users: { [group: string]: string[] } = {}; let group2users: { [group: string]: string[] } = {};
(await G.mongodb.collection('clslCrossUser').find({allStar: {$gte: this.star}}).toArray()).forEach(u => { (await G.mongodb.collection('clslCrossUser').find(
{
uid: { $exists: true },
allStar: { $gte: this.star }
},
{ sort: { allStar: -1 } }
).limit(10).toArray()).forEach(u => {
if (u.group in group2users) { if (u.group in group2users) {
group2users[u.group].push(u.uid); group2users[u.group].push(u.uid);
} else { } else {

View File

@ -86,8 +86,8 @@ export async function startAfter() {
new SchedulerSlzdClean().init(); new SchedulerSlzdClean().init();
new SchedulerSlzdPrize().init(); new SchedulerSlzdPrize().init();
new SchedulerClslPrize().init(); // new SchedulerClslPrize().init();
new SchedulerClslLocalCtor().init(); // new SchedulerClslLocalCtor().init();
new SchedulerWzryAutoBaoMing().init(); new SchedulerWzryAutoBaoMing().init();
new SchedulerWzryjingcaiSendPrize().init(); new SchedulerWzryjingcaiSendPrize().init();
new SchedulerWzryendDel().init(); new SchedulerWzryendDel().init();

View File

@ -1,9 +1,10 @@
# "Asia/Shanghai" # "Asia/Shanghai"
# "Asia/Tokyo" # "Asia/Tokyo"
cp "/usr/share/zoneinfo/$1" "/etc/localtime" cp "/usr/share/zoneinfo/$1" "/etc/localtime"
echo "$1" > /etc/timezone echo "$1" > /etc/timezone
pm2 restart all || true for i in `env | grep -E -i 'SERVER_GAME' | sed 's/=.*//'` ; do
unset $i
done