diff --git a/beat/web/backend/management/commands/qsetup.py b/beat/web/backend/management/commands/qsetup.py index d678481d2aae5bd40395f8e0d10ed5598f3edc27..5c57beeafdd735e5c034292a184615a4bb629c6e 100644 --- a/beat/web/backend/management/commands/qsetup.py +++ b/beat/web/backend/management/commands/qsetup.py @@ -27,7 +27,7 @@ import sys import logging -logger = logging.getLogger(__name__) +logger = logging.getLogger('beat.web') import simplejson diff --git a/beat/web/backend/models.py b/beat/web/backend/models.py index b67a9fbe94caa6cc86e5209ededf6189ee263947..4dde8bb42635c52382594b3923c40d402cc43ff6 100644 --- a/beat/web/backend/models.py +++ b/beat/web/backend/models.py @@ -54,11 +54,11 @@ from ..common.texts import Messages class EnvironmentManager(models.Manager): def get_by_natural_key(self, key): - name, version = key.split() + name, version = key.rsplit(' ', 1) return self.get( - name=name, - version=version[1:-1], - ) + name=name, + version=version[1:-1], + ) class Environment(Shareable): @@ -294,7 +294,7 @@ class Queue(models.Model): '''Total number of slots considering all assigned worker/slots''' r = self.slots.filter(worker__active=True) - return r.aggregate(nslots=models.Sum('quantity'))['nslots'] + return r.aggregate(nslots=models.Sum('quantity'))['nslots'] or 0 def availability(self): diff --git a/beat/web/backend/utils.py b/beat/web/backend/utils.py index fa45a32cf0445f8339c11cf9957047370f09a41f..beacf960cf5a8099c7931592592d37d37afa463c 100644 --- a/beat/web/backend/utils.py +++ b/beat/web/backend/utils.py @@ -332,13 +332,7 @@ def setup_backend(d): logger.info("Deleting `%s'...", q) q.delete() # slots are deleted on cascade - # 12. Delete environments w/o associated queues - qless_envs = Environment.objects.select_for_update().filter(queues=None) - for env in qless_envs: - logger.info("Deleting `%s'...", env) - env.delete() - - # 13. Delete workers not mentioned on the new configuration + # 12. Delete workers not mentioned on the new configuration for w in wobjects_to_be_deleted: logger.info("Deleting `%s'...", w) w.delete()