You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildstream.apache.org by tv...@apache.org on 2021/02/04 08:20:44 UTC

[buildstream] 14/33: WIP: pickle: {ArtifactPush, Build}Queue - not needed?

This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch aevri/picklable_jobs
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit 51b9c275e4cc238df3995232c26969e6579f84b5
Author: Angelos Evripiotis <je...@bloomberg.net>
AuthorDate: Tue Apr 2 13:32:14 2019 +0100

    WIP: pickle: {ArtifactPush,Build}Queue - not needed?
---
 src/buildstream/_scheduler/queues/artifactpushqueue.py | 6 ++++++
 src/buildstream/_scheduler/queues/buildqueue.py        | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/src/buildstream/_scheduler/queues/artifactpushqueue.py b/src/buildstream/_scheduler/queues/artifactpushqueue.py
index b861d4f..5e9a7e8 100644
--- a/src/buildstream/_scheduler/queues/artifactpushqueue.py
+++ b/src/buildstream/_scheduler/queues/artifactpushqueue.py
@@ -32,6 +32,12 @@ class ArtifactPushQueue(Queue):
     complete_name = "Pushed"
     resources = [ResourceType.UPLOAD]
 
+    def __getstate__(self):
+        import copy
+        state = copy.copy(self.__dict__)
+        del state['_scheduler']
+        return state
+
     def process(self, element):
         # returns whether an artifact was uploaded or not
         if not element._push():
diff --git a/src/buildstream/_scheduler/queues/buildqueue.py b/src/buildstream/_scheduler/queues/buildqueue.py
index caa4bc2..34394fa 100644
--- a/src/buildstream/_scheduler/queues/buildqueue.py
+++ b/src/buildstream/_scheduler/queues/buildqueue.py
@@ -34,6 +34,12 @@ class BuildQueue(Queue):
     complete_name = "Built"
     resources = [ResourceType.PROCESS, ResourceType.CACHE]
 
+    def __getstate__(self):
+        import copy
+        state = copy.copy(self.__dict__)
+        del state['_scheduler']
+        return state
+
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
         self._tried = set()