초기커밋
This commit is contained in:
83
ServerCommon/Cache/UgcNpcRankManageCacheRequest.cs
Normal file
83
ServerCommon/Cache/UgcNpcRankManageCacheRequest.cs
Normal file
@@ -0,0 +1,83 @@
|
||||
using StackExchange.Redis;
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
|
||||
namespace ServerCommon;
|
||||
|
||||
public class UgcNpcRankManageCacheRequest : RedisRequestSharedBase
|
||||
{
|
||||
private const int DefaultManageExpireMinute = 1;
|
||||
|
||||
// in
|
||||
|
||||
// out
|
||||
|
||||
public UgcNpcRankManageCacheRequest(RedisConnector redisConnector) : base("UgcNpcRankManage", redisConnector)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected override string onMakeKey() => "rank:manage";
|
||||
private string getLastRunningKey() => $"{onMakeKey()}:last";
|
||||
|
||||
public override string toBasicString() => "UgcNpcRankManageCacheRequest";
|
||||
|
||||
public async Task<bool> isExistKey(string key)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await onPrepareRequest();
|
||||
if (result.isFail()) return false;
|
||||
|
||||
var database = getDatabase();
|
||||
|
||||
var redis_value = await database.KeyExistsAsync(key);
|
||||
return redis_value;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
var error_code = ServerErrorCode.TryCatchException;
|
||||
var err_msg = $"Failed to get isExistKey from Redis !!! : : errorCode{error_code}, errMsg:{e.Message} - {nameof(isExistKey)}";
|
||||
Log.getLogger().error(err_msg);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public async Task<bool> setStartUgcNpcRankManage()
|
||||
{
|
||||
var result = new Result();
|
||||
|
||||
try
|
||||
{
|
||||
result = await onPrepareRequest();
|
||||
if (result.isFail()) return false;
|
||||
|
||||
var database = getDatabase();
|
||||
|
||||
var redis_value = await database.StringSetAsync(getKey(), DateTimeHelper.Current.ToString("yyyy-MM-dd HH:mm:ss"), TimeSpan.FromMinutes(DefaultManageExpireMinute), When.NotExists);
|
||||
|
||||
if (false == redis_value) return false;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
var error_code = ServerErrorCode.TryCatchException;
|
||||
var err_msg = $"Failed to get UgcNpcRankManageCache from Redis !!! : : errorCode{error_code}, errMsg:{e.Message}";
|
||||
result.setFail(error_code, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user