diff options
author | bst-marge-bot <marge-bot@buildstream.build> | 2020-11-04 14:38:05 +0000 |
---|---|---|
committer | bst-marge-bot <marge-bot@buildstream.build> | 2020-11-04 14:38:05 +0000 |
commit | 264028906d6d6996e6ac7fc3fe350a2fd9d1229b (patch) | |
tree | c64cad2d41e3a80bf8ca37a22b881165276dcdb2 | |
parent | 5d51b8d00ff5de466521cdecb42dda1550e787d8 (diff) | |
parent | 1dc48793e42f54a8cdcba30b8dd21b52c5bac7f0 (diff) | |
download | buildstream-264028906d6d6996e6ac7fc3fe350a2fd9d1229b.tar.gz |
Merge branch 'bschubert/notify-prepare-plan' into 'master'
_stream.py: Make `_enqueue_plan` a timed activity
See merge request BuildStream/buildstream!1840
-rw-r--r-- | src/buildstream/_scheduler/queues/queue.py | 6 | ||||
-rw-r--r-- | src/buildstream/_stream.py | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/buildstream/_scheduler/queues/queue.py b/src/buildstream/_scheduler/queues/queue.py index f5aa2ca4c..e05d95188 100644 --- a/src/buildstream/_scheduler/queues/queue.py +++ b/src/buildstream/_scheduler/queues/queue.py @@ -174,13 +174,17 @@ class Queue: # # Args: # elts (list): A list of Elements + # task (Task): The task to add progress to for the UI, if any # - def enqueue(self, elts): + def enqueue(self, elts, task=None): if not elts: return # Obtain immediate element status for elt in elts: + if task: + task.add_current_progress() + if self._required_element_check and not elt._is_required(): elt._set_required_callback(self._enqueue_element) else: diff --git a/src/buildstream/_stream.py b/src/buildstream/_stream.py index af0537fe1..0a055a76d 100644 --- a/src/buildstream/_stream.py +++ b/src/buildstream/_stream.py @@ -1299,7 +1299,11 @@ class Stream: # def _enqueue_plan(self, plan, *, queue=None): queue = queue or self.queues[0] - queue.enqueue(plan) + + with self._context.messenger.simple_task("Preparing work plan") as task: + task.set_maximum_progress(len(plan)) + queue.enqueue(plan, task) + self.session_elements += plan # _failure_retry() |