public void Start() { //先清理状态 _queueDict.Clear(); _scheduleService.StopTask("QueueService.RemoveConsumedQueueIndex"); _scheduleService.StopTask("QueueService.RemoveExceedMaxCacheQueueIndex"); //再重新加载状态 var queues = _queueStore.LoadAllQueues(); var queueGroups = queues.GroupBy(x => x.Topic); foreach (var queue in queues) { var key = CreateQueueKey(queue.Topic, queue.QueueId); _queueDict.TryAdd(key, queue); } _scheduleService.StartTask("QueueService.RemoveConsumedQueueIndex", RemoveConsumedQueueIndex, BrokerController.Instance.Setting.RemoveConsumedQueueIndexInterval, BrokerController.Instance.Setting.RemoveConsumedQueueIndexInterval); _scheduleService.StartTask("QueueService.RemoveExceedMaxCacheQueueIndex", RemoveExceedMaxCacheQueueIndex, BrokerController.Instance.Setting.RemoveExceedMaxCacheQueueIndexInterval, BrokerController.Instance.Setting.RemoveExceedMaxCacheQueueIndexInterval); }