//添加黑名单项目 临 public static void AddVoteProjectNameDropedTemp() { string projectName = ConfigCore.GetAutoVote("ProjectName"); TaskInfo taskInfo = TaskInfos.Get(); if (taskInfo != null && taskInfo.ProjectName != projectName) { return; } string voteProjectNameDroped = ConfigCore.GetAutoVote("voteProjectNameDropedTemp"); int dropVote = 0; try { dropVote = int.Parse(ConfigCore.GetAutoVote("dropVote")); } catch (Exception) { } finally { dropVote++; } ConfigCore.WriteAutoVote("dropVote", dropVote.ToString()); if (StringUtil.isEmpty(voteProjectNameDroped) || voteProjectNameDroped.IndexOf(projectName) == -1) { int validDrop; try { validDrop = int.Parse(ConfigCore.GetAutoVote("validDrop")); } catch (Exception) { validDrop = 1; } if (dropVote >= validDrop) { LogCore.Write($"{projectName}到票临时拉黑5分钟"); voteProjectNameDroped += StringUtil.isEmpty(voteProjectNameDroped) ? projectName : "|" + projectName; ConfigCore.WriteAutoVote("voteProjectNameDropedTemp", voteProjectNameDroped); } } }
//添加黑名单项目 public static void AddVoteProjectNameDroped(bool isAllProject) { string projectName = ConfigCore.GetAutoVote("ProjectName"); //一机器只允许拉黑投票一次 string drop = IniReadWriter.ReadIniKeys("Command", "drop", "./handler.ini"); TaskInfo taskInfo = TaskInfos.Get(); if ((taskInfo != null && taskInfo.ProjectName != projectName) || drop == projectName) { return; } IniReadWriter.WriteIniKeys("Command", "drop", projectName, "./handler.ini"); string voteProjectNameDroped = ConfigCore.GetAutoVote("voteProjectNameDroped"); int dropVote = 0; try { dropVote = int.Parse(ConfigCore.GetAutoVote("dropVote")); } catch (Exception) { } finally { dropVote++; } if (isAllProject) { if (projectName.IndexOf("_") > 0) { projectName = projectName.Substring(0, projectName.IndexOf("_")); } } ConfigCore.WriteAutoVote("dropVote", dropVote.ToString()); if (StringUtil.isEmpty(voteProjectNameDroped) || voteProjectNameDroped.IndexOf(projectName) == -1) { int validDrop = 1; double blackRate = 1; try { validDrop = int.Parse(ConfigCore.GetAutoVote("validDrop")); } catch { } try { blackRate = int.Parse(ConfigCore.GetAutoVote("blackRate")); } catch { } if (dropVote >= validDrop) { IniReadWriter.WriteIniKeys("Command", "drop", "", "./handler.ini"); LogCore.Write($"{projectName}拉黑{blackRate * 20}分钟"); voteProjectNameDroped += StringUtil.isEmpty(voteProjectNameDroped) ? projectName : "|" + projectName; ConfigCore.WriteAutoVote("voteProjectNameDroped", voteProjectNameDroped); } } }