拍卖行:定时任务加锁

This commit is contained in:
luying
2022-05-05 19:26:11 +08:00
parent 4f42a8d3b5
commit c4793c7e8a
6 changed files with 106 additions and 85 deletions
+15 -1
View File
@@ -15,6 +15,8 @@ import { RewardInter } from '../pubUtils/interface';
import { reportTAEvent } from './sdkService';
import { getAllServers } from './redisService';
import { sendMessageToGuildWithSuc, sendMessageToServer, sendMessageToServerWithSuc } from './pushService';
import { lockDataWithNoParam } from './redLockService';
import { DATA_NAME } from '../consts';
// ! 获取底价,假数据
export function getBasePrice(gid: number, count: number) {
@@ -290,6 +292,9 @@ export async function calculateDividend(dividend: DividendType) {
}
export async function startGuildAuction() {
let res: any = await lockDataWithNoParam(DATA_NAME.SEND_AUCTION);//加锁
if (!!res.err) return false;
try {
console.log('schedule startGuildAuction called:', new Date());
const begin = await todayGuildBegin();
@@ -304,10 +309,11 @@ export async function startGuildAuction() {
}
await pushAuctionUpdate(lots, dividends);
res.releaseCallback();
return true;
} catch (e) {
console.error('startGuildAuction err: ', e);
res.releaseCallback();
return false;
}
}
@@ -330,6 +336,8 @@ export async function sendLotsRewardToMlail(lots: LotType[]) {
}
export async function startWorldAuction() {
let res: any = await lockDataWithNoParam(DATA_NAME.SEND_AUCTION);//加锁
if (!!res.err) return false;
try {
console.log('schedule startWorldAuction called:', new Date());
const begin = await todayGuildBegin();
@@ -345,14 +353,18 @@ export async function startWorldAuction() {
await pushCurrentTime(time);
}
await pushAuctionUpdate(lots, dividends);
res.releaseCallback();
return true;
} catch (e) {
console.error('startWorldAuction err: ', e);
res.releaseCallback();
return false;
}
}
export async function stopAuction() {
let res: any = await lockDataWithNoParam(DATA_NAME.SEND_AUCTION);//加锁
if (!!res.err) return false;
try {
console.log('schedule stopAuction called:', new Date());
const begin = await todayGuildBegin();
@@ -367,9 +379,11 @@ export async function stopAuction() {
await pushCurrentTime(time);
}
await pushAuctionUpdate(lots, []);
res.releaseCallback();
return true;
} catch (e) {
console.error('stopAuction err: ', e);
res.releaseCallback();
return false;
}
}