83 lines
2.3 KiB
C#
83 lines
2.3 KiB
C#
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;
|
|
}
|
|
} |