Exemplo n.º 1
0
        public void StopThread()
        {
            DatabaseOptionBase.UnAssignWorkerFromAllAssigned(DatabaseWorker, _mongoConnection);

            DatabaseWorker.Delete(_mongoConnection);

            DatabaseWorker = null;
        }
Exemplo n.º 2
0
        private void UnassignFromDeadWorkers()
        {
            if (_lastCheckForDeadWorkers + _timeToWaitBetweenChecksForDeadWorkers > Clock.Now)
            {
                return;
            }

            List <DatabaseWorker> deadWorkers = GetDeadWorkers();

            deadWorkers.ForEach(worker => DatabaseOptionBase.UnAssignWorkerFromAllAssigned(worker, _connection));

            _optionStatus.RemoveOptionsFromDeadWorkers(deadWorkers);

            _lastCheckForDeadWorkers = Clock.Now;
        }