public void changeStatus(String url, Constant.ParseStatus status) { RuntimeEntity runtime = runtimeService.get(url); if (!Constant.RunStatus.STOP.Equals(runtime.RunStatus)) { if (status.Equals(Constant.ParseStatus.START)) { Object parse = runtime.WaitQueue[url]; runtime.StartQueue.Add(url, parse); runtime.WaitQueue.Remove(url); } else if (status.Equals(Constant.ParseStatus.SUCCESS)) { Object parse = runtime.StartQueue[url]; runtime.SuccessQueue.Add(url, parse); runtime.StartQueue.Remove(url); } else if (status.Equals(Constant.ParseStatus.EXCEPTION)) { Object parse = runtime.StartQueue[url]; runtime.ErrorQueue.Add(url, parse); runtime.StartQueue.Remove(url); } //等待队列与执行队列为空的话,整个站点停止解析 if (runtime.WaitQueue.Count == 0 && runtime.StartQueue.Count == 0) { runtime.stop(true); } } }