diff --git a/everware/spawner.py b/everware/spawner.py index 158fafd..522cab0 100755 --- a/everware/spawner.py +++ b/everware/spawner.py @@ -45,7 +45,6 @@ def __init__(self, **kwargs): ContainerHandler.__init__(self, **kwargs) EmailNotificator.__init__(self) - # We override the executor here to increase the number of threads @property def executor(self): @@ -55,6 +54,9 @@ def executor(self): cls._executor = ThreadPoolExecutor(20) return cls._executor + @staticmethod + def get_global_client(): + return CustomDockerSpawner._client def _docker(self, method, *args, **kwargs): """wrapper for calling docker methods diff --git a/everware/stats_handler.py b/everware/stats_handler.py index 7a218dc..d126589 100644 --- a/everware/stats_handler.py +++ b/everware/stats_handler.py @@ -38,5 +38,8 @@ def get(self, *args, **kwargs): @gen.coroutine def get_running_container_count(self): """Get the number of currently running containers.""" - return len(Client().containers( - filters={'status': self.container_statuses['running']})) + client = self.spawner_class.get_global_client() + if client is None: + # None means that there were no launches + return 0 + return len(client.containers(filters={'status': self.container_statuses['running']}))