summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2020-12-14 22:21:19 +0100
committerJürg Billeter <j@bitron.ch>2020-12-14 22:25:31 +0100
commita4baf7b9f6ef3fe8e2e0c13b7154af25884c94b7 (patch)
tree02a4d2c33036bfef50c634c93c80f0a872c0bfb6
parent74623f10e0f42c0ca1b7007cbc9fc43e775ef740 (diff)
downloadbuildstream-a4baf7b9f6ef3fe8e2e0c13b7154af25884c94b7.tar.gz
wip: tests succeeding but cache query queue not used yet
-rw-r--r--src/buildstream/_scheduler/__init__.py1
-rw-r--r--src/buildstream/_stream.py11
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()
#