public static void ServiceRunning() { RedisHelper.RedisListner((channel, msg) => { try { //msg = "{'CommondType':2,'nodeid':1}"; RedisCommondInfo redisCommondInfo = null; redisCommondInfo = new BSF.Serialization.JsonProvider().Deserialize <RedisCommondInfo>(msg); if (redisCommondInfo != null) { if (redisCommondInfo.CommondType == EnumCommondType.TaskCommand && redisCommondInfo.NodeId == GlobalConfig.NodeID) { RunCommond(); } else if (redisCommondInfo.CommondType == EnumCommondType.ConfigUpdate) { RedisHelper.RefreashRedisServerIP(); } } } catch (Exception ex) { LogHelper.AddNodeError($"Redis获取订阅消息出错,{ex.Message}", ex); } }, (info) => { if (info != null) { LogHelper.AddNodeError("Redis订阅出错," + info.Message.NullToEmpty(), info.Exception); } }); }
static void Running() { //lastMaxID = 0;//仅测试 RecoveryStartTasks(); RedisHelper.RedisListner((channel, msg) => { try { RedisCommondInfo redisCommondInfo = null; try { redisCommondInfo = new BSF.Serialization.JsonProvider().Deserialize <RedisCommondInfo>(msg); } catch { } if (redisCommondInfo != null) { if (redisCommondInfo.CommondType == EnumCommondType.TaskCommand && redisCommondInfo.NodeId == GlobalConfig.NodeID) { RunCommond(); } if (redisCommondInfo.CommondType == EnumCommondType.ConfigUpdate) { RedisHelper.RefreashRedisServerIP(); } } else { throw new Exception("redis命令无法识别"); } } catch (Exception exp) { LogHelper.AddNodeError("Redis命令处理出错,msg:" + msg.NullToEmpty(), exp); } }, (info) => { if (info != null) { LogHelper.AddNodeError("Redis订阅出错," + info.Message.NullToEmpty(), info.Exception); } }); RuningCommandLoop(); }