diff options
| author | Scott Gasch <[email protected]> | 2021-11-13 07:06:31 -0800 |
|---|---|---|
| committer | Scott Gasch <[email protected]> | 2021-11-13 07:06:31 -0800 |
| commit | 957c962294cde93c4c649ed18dedd16df071878d (patch) | |
| tree | 04207d711c01b33eb73b61782ed18aaa9d5e363d /executors.py | |
| parent | e5da1fa6bab9ea6bf4394facbb29f13cdc3daf9a (diff) | |
Small bugfixes; also, add a new machine to the remote executor pool.
Diffstat (limited to 'executors.py')
| -rw-r--r-- | executors.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/executors.py b/executors.py index d5049a2..6723bb9 100644 --- a/executors.py +++ b/executors.py @@ -843,6 +843,7 @@ class DefaultExecutors(object): self.remote_executor: Optional[RemoteExecutor] = None def ping(self, host) -> bool: + logger.debug(f'RUN> ping -c 1 {host}') command = ['ping', '-c', '1', host] return subprocess.call( command, @@ -861,9 +862,11 @@ class DefaultExecutors(object): return self.process_executor def remote_pool(self) -> RemoteExecutor: + logger.info('Looking for some helper machines...') if self.remote_executor is None: pool: List[RemoteWorkerRecord] = [] if self.ping('cheetah.house'): + logger.info('Found cheetah.house') pool.append( RemoteWorkerRecord( username = 'scott', @@ -873,6 +876,7 @@ class DefaultExecutors(object): ), ) if self.ping('video.house'): + logger.info('Found video.house') pool.append( RemoteWorkerRecord( username = 'scott', @@ -882,6 +886,7 @@ class DefaultExecutors(object): ), ) if self.ping('wannabe.house'): + logger.info('Found wannabe.house') pool.append( RemoteWorkerRecord( username = 'scott', @@ -891,6 +896,7 @@ class DefaultExecutors(object): ), ) if self.ping('meerkat.cabin'): + logger.info('Found meerkat.cabin') pool.append( RemoteWorkerRecord( username = 'scott', @@ -900,6 +906,7 @@ class DefaultExecutors(object): ), ) if self.ping('backup.house'): + logger.info('Found backup.house') pool.append( RemoteWorkerRecord( username = 'scott', @@ -908,7 +915,18 @@ class DefaultExecutors(object): count = 4, ), ) + if self.ping('kiosk.house'): + logger.info('Found kiosk.house') + pool.append( + RemoteWorkerRecord( + username = 'pi', + machine = 'kiosk.house', + weight = 1, + count = 2, + ), + ) if self.ping('puma.cabin'): + logger.info('Found puma.cabin') pool.append( RemoteWorkerRecord( username = 'scott', @@ -917,6 +935,13 @@ class DefaultExecutors(object): count = 4, ), ) + + # The controller machine has a lot to do; go easy on it. + for record in pool: + if record.machine == platform.node() and record.count > 1: + logger.info(f'Reducing workload for {record.machine}.') + record.count = 1 + policy = WeightedRandomRemoteWorkerSelectionPolicy() policy.register_worker_pool(pool) self.remote_executor = RemoteExecutor(pool, policy) |
