演武场和练兵场

This commit is contained in:
mamengke01
2021-01-22 09:44:13 +08:00
parent 7efcc637b3
commit 5da371a17d
17 changed files with 887 additions and 69 deletions
+24 -4
View File
@@ -1,5 +1,11 @@
import { localrun } from "pinus/lib/master/starter";
import { setLock, releaseLock } from './redlockCacheService';
var Redlock = require('redlock');
var RedisService = module.exports;
var _redlockCache;
export function initRedlock (redisClient) {
_redlockCache = new RedlockService(redisClient);
}
export class RedlockService {
_redisClient: any;
@@ -36,8 +42,22 @@ export class RedlockService {
console.error('A redis error has occurred:', err);
});
}
}
getWithModify() {
}
export async function lockData(serverId: string, dataName: string, id: string ) {
let key = 'serverId_'+serverId+'_'+dataName+'_'+id;
let lockKey = 'locks:' + key;
console.log(' lockKey = '+ lockKey);
_redlockCache.redlock.lock(lockKey, _redlockCache.ttl).then(function(lock) {
setLock(lockKey, lock);
return {err: null, releaseCallback: releaseCallback.bind(null, lockKey)};
}).catch(function(err) {
console.error(err);
return { err };
});
}
export async function releaseCallback(lockKey: string) {
releaseLock(lockKey);
}