From 2ec942b07c21a50273b993e67b4d7a078894e161 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrg=20Billeter?= Date: Tue, 15 Dec 2020 07:14:58 +0100 Subject: hack for benchmark --- src/buildstream/_scheduler/jobs/job.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/buildstream/_scheduler/jobs/job.py b/src/buildstream/_scheduler/jobs/job.py index aa71b6e18..f4539a1ed 100644 --- a/src/buildstream/_scheduler/jobs/job.py +++ b/src/buildstream/_scheduler/jobs/job.py @@ -22,6 +22,7 @@ # System imports import asyncio +import contextlib import datetime import itertools import multiprocessing @@ -495,13 +496,21 @@ class ChildJob: self._pipe_w = pipe_w self._messenger.set_message_handler(self._child_message_handler) + # FIXME + silence = self.action_name == "Cache-query" + # Time, log and and run the action function # - with self._messenger.timed_suspendable() as timeinfo, self._messenger.recorded_messages( - self._logfile, self._logdir - ) as filename: + if silence: + record_cm = contextlib.suppress() + else: + record_cm = self._messenger.recorded_messages( + self._logfile, self._logdir + ) + with self._messenger.timed_suspendable() as timeinfo, record_cm as filename: try: - self.message(MessageType.START, self.action_name, logfile=filename) + if not silence: + self.message(MessageType.START, self.action_name, logfile=filename) with self._terminate_lock: self._thread_id = threading.current_thread().ident @@ -513,7 +522,8 @@ class ChildJob: result = self.child_process() # pylint: disable=assignment-from-no-return except SkipJob as e: elapsed = datetime.datetime.now() - timeinfo.start_time - self.message(MessageType.SKIPPED, str(e), elapsed=elapsed, logfile=filename) + if not silence: + self.message(MessageType.SKIPPED, str(e), elapsed=elapsed, logfile=filename) # Alert parent of skip by return code return _ReturnCode.SKIPPED, None @@ -560,7 +570,8 @@ class ChildJob: else: # No exception occurred in the action elapsed = datetime.datetime.now() - timeinfo.start_time - self.message(MessageType.SUCCESS, self.action_name, elapsed=elapsed, logfile=filename) + if not silence: + self.message(MessageType.SUCCESS, self.action_name, elapsed=elapsed, logfile=filename) # Shutdown needs to stay outside of the above context manager, # make sure we dont try to handle SIGTERM while the process -- cgit v1.2.1