From a4baf7b9f6ef3fe8e2e0c13b7154af25884c94b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrg=20Billeter?= Date: Mon, 14 Dec 2020 22:21:19 +0100 Subject: wip: tests succeeding but cache query queue not used yet --- src/buildstream/_scheduler/__init__.py | 1 + src/buildstream/_stream.py | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/buildstream/_scheduler/__init__.py b/src/buildstream/_scheduler/__init__.py index d2f458fa5..fcde00dff 100644 --- a/src/buildstream/_scheduler/__init__.py +++ b/src/buildstream/_scheduler/__init__.py @@ -25,6 +25,7 @@ from .queues.trackqueue import TrackQueue from .queues.buildqueue import BuildQueue from .queues.artifactpushqueue import ArtifactPushQueue from .queues.pullqueue import PullQueue +from .queues.cachequeryqueue import CacheQueryQueue from .scheduler import Scheduler, SchedStatus from .jobs import ElementJob, JobStatus diff --git a/src/buildstream/_stream.py b/src/buildstream/_stream.py index dc76edad9..f25c2dcd6 100644 --- a/src/buildstream/_stream.py +++ b/src/buildstream/_stream.py @@ -38,6 +38,7 @@ from ._scheduler import ( Scheduler, SchedStatus, TrackQueue, + CacheQueryQueue, FetchQueue, SourcePushQueue, BuildQueue, @@ -172,8 +173,14 @@ class Stream: # elements (list of Element): The elements to check # def query_cache(self, elements): - # Cache is implicitly queried on demand - pass + with self._context.messenger.timed_activity("Query cache", silent_nested=True): + # Enqueue complete build plan as this is required to determine `buildable` status. + plan = self._pipeline.plan(elements) + + self._scheduler.clear_queues() + self._add_queue(CacheQueryQueue(self._scheduler)) + self._enqueue_plan(plan) + self._run() # shell() # -- cgit v1.2.1