summaryrefslogtreecommitdiff
path: root/src/buildstream/_scheduler/queues/fetchqueue.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildstream/_scheduler/queues/fetchqueue.py')
-rw-r--r--src/buildstream/_scheduler/queues/fetchqueue.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/buildstream/_scheduler/queues/fetchqueue.py b/src/buildstream/_scheduler/queues/fetchqueue.py
index bbb3b3d78..3d0f80342 100644
--- a/src/buildstream/_scheduler/queues/fetchqueue.py
+++ b/src/buildstream/_scheduler/queues/fetchqueue.py
@@ -41,8 +41,11 @@ class FetchQueue(Queue):
self._skip_cached = skip_cached
self._fetch_original = fetch_original
- def process(self, element):
- element._fetch(fetch_original=self._fetch_original)
+ def get_process_func(self):
+ if self._fetch_original:
+ return FetchQueue._fetch_original
+ else:
+ return FetchQueue._fetch_no_original
def status(self, element):
# Optionally skip elements that are already in the artifact cache
@@ -78,3 +81,11 @@ class FetchQueue(Queue):
# Set a "can_query_cache" callback for an element not yet ready
# to be processed in the fetch queue.
element._set_can_query_cache_callback(self._enqueue_element)
+
+ @staticmethod
+ def _fetch_no_original(element):
+ element._fetch(fetch_original=False)
+
+ @staticmethod
+ def _fetch_original(element):
+ element._fetch(fetch_original=True)