diff options
author | Tom Pollard <tom.pollard@codethink.co.uk> | 2019-07-29 15:49:55 +0100 |
---|---|---|
committer | Tom Pollard <tom.pollard@codethink.co.uk> | 2019-07-29 15:49:55 +0100 |
commit | 60096ffb9165836716d80dff508eba917bea6527 (patch) | |
tree | 3df5936f20f11af51f8b50830e4c1654bdad3d52 | |
parent | b684d5616c1220453c300508545efabf08424f9a (diff) | |
download | buildstream-tpollard/moremessagetemp.tar.gz |
tweaks...tpollard/moremessagetemp
-rw-r--r-- | src/buildstream/_scheduler/jobs/elementjob.py | 5 | ||||
-rw-r--r-- | src/buildstream/_scheduler/jobs/job.py | 29 |
2 files changed, 28 insertions, 6 deletions
diff --git a/src/buildstream/_scheduler/jobs/elementjob.py b/src/buildstream/_scheduler/jobs/elementjob.py index 366fd761a..e406827b1 100644 --- a/src/buildstream/_scheduler/jobs/elementjob.py +++ b/src/buildstream/_scheduler/jobs/elementjob.py @@ -76,6 +76,7 @@ class ElementJob(Job): # Set the plugin element name for logging purposes self.set_message_element_name(self.name) + self.set_message_element_key(self._element._get_display_key()) @property def element(self): @@ -88,7 +89,7 @@ class ElementJob(Job): return ChildElementJob(*args, element=self._element, action_cb=self._action_cb, **kwargs) def message(self, message_type, message, **kwargs): - kwargs['element_key'] = self._element._get_display_key() + #kwargs['element_key'] = self._element._get_display_key() super().message(message_type, message, **kwargs) @@ -122,5 +123,5 @@ class ChildElementJob(ChildJob): return data def message(self, message_type, message, **kwargs): - kwargs['element_key'] = self._element._get_display_key() + #kwargs['element_key'] = self._element._get_display_key() super().message(message_type, message, **kwargs) diff --git a/src/buildstream/_scheduler/jobs/job.py b/src/buildstream/_scheduler/jobs/job.py index 07ed74808..bdab8cc6c 100644 --- a/src/buildstream/_scheduler/jobs/job.py +++ b/src/buildstream/_scheduler/jobs/job.py @@ -152,6 +152,7 @@ class Job(): self._logfile = logfile self._message_element_name = None # The plugin instance element name for messaging + self._message_element_key = None # The element key for messaging # set_name() # @@ -178,6 +179,7 @@ class Job(): self._max_retries, self._tries, self._message_element_name, + self._message_element_key ) # Make sure that picklability doesn't break, by exercising it during @@ -313,7 +315,7 @@ class Job(): os.kill(self._process.pid, signal.SIGCONT) self._suspended = False - # set_element_name() + # set_message_element_name() # # This is called by Job subclasses to set the plugin instance element # name issuing the message (if an element is related to the Job). @@ -324,6 +326,17 @@ class Job(): def set_message_element_name(self, element_name): self._message_element_name = element_name + # set_message_element_key() + # + # This is called by Job subclasses to set the element + # key for for the issuing message (if an element is related to the Job). + # + # Args: + # element_key (tuple): The element_key tuple to be supplied to the Message() constructor + # + def set_message_element_key(self, element_key): + self._message_element_key = element_key + # message(): # # Logs a message, this will be logged in the task's logfile and @@ -338,11 +351,12 @@ class Job(): def message(self, message_type, message, **kwargs): kwargs['scheduler'] = True element_name = self._message_element_name + element_key = self._message_element_key if "element_name" in kwargs: element_name = kwargs["element_name"] del kwargs["element_name"] self._scheduler.context.messenger.message( - Message(message_type, message, element_name=element_name, **kwargs)) + Message(message_type, message, element_name=element_name, element_key=element_key, **kwargs)) ####################################################### # Abstract Methods # @@ -552,11 +566,14 @@ class Job(): # tries (int): The number of retries so far. # message_element_name (str): None, or the plugin instance element name # to be supplied to the Message() constructor. +# message_element_key (tuple): None, or the element display key tuple +# to be supplied to the Message() constructor. # class ChildJob(): def __init__( - self, action_name, messenger, logdir, logfile, max_retries, tries, message_element_name): + self, action_name, messenger, logdir, logfile, max_retries, tries, + message_element_name, message_element_key): self.action_name = action_name @@ -566,6 +583,7 @@ class ChildJob(): self._max_retries = max_retries self._tries = tries self._message_element_name = message_element_name + self._message_element_key = message_element_key self._queue = None @@ -583,10 +601,12 @@ class ChildJob(): def message(self, message_type, message, **kwargs): kwargs['scheduler'] = True element_name = self._message_element_name + element_key = self._message_element_key if "element_name" in kwargs: element_name = kwargs["element_name"] del kwargs["element_name"] - self._messenger.message(Message(message_type, message, element_name=element_name, **kwargs)) + self._messenger.message(Message(message_type, message, element_name=element_name, + element_key=self._message_element_key, **kwargs)) # send_message() # @@ -828,6 +848,7 @@ class ChildJob(): message.action_name = self.action_name message.element_name = self._message_element_name + message.element_key = self._message_element_key # Send to frontend if appropriate if is_silenced and (message.message_type not in unconditional_messages): |