diff options
author | Jürg Billeter <j@bitron.ch> | 2020-05-12 19:16:21 +0200 |
---|---|---|
committer | Jürg Billeter <j@bitron.ch> | 2020-05-27 11:51:30 +0200 |
commit | 7003d5e550d05160ddc23f1bec739767c1ea4ffa (patch) | |
tree | 4507cdecc9bef8023dc1560a3678e983d4db2666 /src | |
parent | dfdd3d5a59c840d09f05a0763abee2a36b43ab6c (diff) | |
download | buildstream-7003d5e550d05160ddc23f1bec739767c1ea4ffa.tar.gz |
Revert "Simplify queue management"
This reverts commit aa25f6fcf49f0015fae34dfd79b4626a816bf886.
Diffstat (limited to 'src')
-rw-r--r-- | src/buildstream/_scheduler/queues/queue.py | 7 | ||||
-rw-r--r-- | src/buildstream/_stream.py | 10 |
2 files changed, 14 insertions, 3 deletions
diff --git a/src/buildstream/_scheduler/queues/queue.py b/src/buildstream/_scheduler/queues/queue.py index 39b7af4ce..986ac6c0a 100644 --- a/src/buildstream/_scheduler/queues/queue.py +++ b/src/buildstream/_scheduler/queues/queue.py @@ -241,6 +241,13 @@ class Queue: for element in ready ] + # set_required_element_check() + # + # This ensures that, for the first non-track queue, we must check + # whether elements are required before enqueuing them + def set_required_element_check(self): + self._required_element_check = True + # any_failed_elements() # # Returns whether any elements in this queue have failed their jobs diff --git a/src/buildstream/_stream.py b/src/buildstream/_stream.py index bba3831c3..dc91db6b7 100644 --- a/src/buildstream/_stream.py +++ b/src/buildstream/_stream.py @@ -371,8 +371,8 @@ class Stream: self._scheduler.clear_queues() track_queue = TrackQueue(self._scheduler) - self._add_queue(track_queue) - self._enqueue_plan(elements) + self._add_queue(track_queue, track=True) + self._enqueue_plan(elements, queue=track_queue) self._run() # pull() @@ -1308,7 +1308,11 @@ class Stream: # Args: # queue (Queue): Queue to add to the pipeline # - def _add_queue(self, queue): + def _add_queue(self, queue, *, track=False): + if not track and not self.queues: + # First non-track queue + queue.set_required_element_check() + self.queues.append(queue) # _enqueue_plan() |