任务管理

This commit is contained in:
mamengke01
2021-01-13 19:06:27 +08:00
parent 942ab270b0
commit bb773cbb64

View File

@@ -24,6 +24,7 @@ const SETTLE_DIFF = 29 * 60;
const LIMIT_NUM = 1000;
var seasonJobId;
var warJobId;
var seasonEndTimeJobId;
export async function init() {
let seasonEndTime = 0;
let systemConfig = await SystemConfigModel.findSystemConfig();
@@ -146,15 +147,18 @@ export async function resetPvpWarId() {
}
async function setNextPvpTime(notSetNext: boolean) {
if (!!notSetNext) {
let systemConfig = await SystemConfigModel.findSystemConfig();
return systemConfig;
let systemConfig = await SystemConfigModel.findSystemConfig();
let seasonEndTime = (PVP.PVP_SEASON_DAYS + 1) * PER_DAY + getTodayZeroPoint();
if (!notSetNext) {
return { seasonEndTime, seasonNum: systemConfig.seasonNum + 1 };
}
let seasonEndTime = PVP.PVP_SEASON_DAYS * PER_DAY + getTodayZeroPoint();
let systemConfig = await SystemConfigModel.updateSeason(seasonEndTime);
let settleTime = (seasonEndTime - SETTLE_DIFF)* PER_SECOND;
seasonJobId = scheduleJob(settleTime, setPvpSeasonResult, { name: 'setPvpSeasonResult' });
return systemConfig;
seasonEndTimeJobId = scheduleJob(systemConfig.seasonEndTime , async function () {
seasonEndTime = PVP.PVP_SEASON_DAYS * PER_DAY + getTodayZeroPoint();
systemConfig = await SystemConfigModel.updateSeason(seasonEndTime);
let settleTime = (seasonEndTime - SETTLE_DIFF)* PER_SECOND;
seasonJobId = scheduleJob(settleTime, setPvpSeasonResult, { name: 'setPvpSeasonResult' });
});
return { seasonEndTime, seasonNum: systemConfig.seasonNum + 1 };
}
function getScore(arr, score) {
@@ -171,7 +175,9 @@ export async function resetPvpSeasonTime(hour: number) {
}
let seasonEndTime = 0;
let seasonNum = 1;
if (!!seasonEndTimeJobId) {
seasonEndTimeJobId.cancel();
}
let systemConfig = await SystemConfigModel.findSystemConfig();
if (!systemConfig) {
let warIds = getPvpGkWarIds();
@@ -184,6 +190,7 @@ export async function resetPvpSeasonTime(hour: number) {
await SystemConfigModel.updateSystemConfig({ seasonEndTime, seasonNum: seasonNum});
}
let settleTime = (seasonEndTime - SETTLE_DIFF)* PER_SECOND;
console.log('settleTime = ' + settleTime)
seasonJobId = scheduleJob(settleTime, setPvpSeasonResult, { name: 'setPvpSeasonResult' });
return { seasonEndTime, seasonNum };
}