summaryrefslogtreecommitdiff
path: root/src/buildstream/_scheduler/scheduler.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildstream/_scheduler/scheduler.py')
-rw-r--r--src/buildstream/_scheduler/scheduler.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/buildstream/_scheduler/scheduler.py b/src/buildstream/_scheduler/scheduler.py
index b892296f5..d0a189545 100644
--- a/src/buildstream/_scheduler/scheduler.py
+++ b/src/buildstream/_scheduler/scheduler.py
@@ -61,6 +61,7 @@ class NotificationType(FastEnum):
UNSUSPEND = "unsuspend"
SUSPENDED = "suspended"
RETRY = "retry"
+ MESSAGE = "message"
# Notification()
@@ -80,13 +81,15 @@ class Notification():
job_action=None,
job_status=None,
time=None,
- element=None):
+ element=None,
+ message=None):
self.notification_type = notification_type
self.full_name = full_name
self.job_action = job_action
self.job_status = job_status
self.time = time
self.element = element
+ self.message = message
# Scheduler()
@@ -301,6 +304,17 @@ class Scheduler():
self._notify(notification)
self._sched()
+ # notify_messenger()
+ #
+ # Send message over notification queue to Messenger callback
+ #
+ # Args:
+ # message (Message): A Message() to be sent to the frontend message
+ # handler, as assigned by context's messenger.
+ #
+ def notify_messenger(self, message):
+ self._notify(Notification(NotificationType.MESSAGE, message=message))
+
#######################################################
# Local Private Methods #
#######################################################