summaryrefslogtreecommitdiff
path: root/gear/worker.py
diff options
context:
space:
mode:
Diffstat (limited to 'gear/worker.py')
-rw-r--r--gear/worker.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/gear/worker.py b/gear/worker.py
index e8abacda..fa23e01c 100644
--- a/gear/worker.py
+++ b/gear/worker.py
@@ -4,9 +4,13 @@ worker.addServer('localhost')
worker.registerFunction("reverse")
worker.registerFunction("build-graph")
worker.registerFunction("build-artifact")
+worker.registerFunction("cache-request")
import time
import json
import os
+import requests
+import urlparse
+
from subprocess import Popen, PIPE, STDOUT
import distbuild
@@ -16,6 +20,9 @@ import paramiko
import logging
logging.basicConfig()
+#TODO: values from settings
+cache_server = 'http://cache.baserock.org:8080'
+
@contextmanager
def ssh_manager(host, port, username, key):
@@ -104,3 +111,10 @@ while True:
suffixes.append(filename + '.meta')
upload_files(artifact.cache_key, suffixes)
job.sendWorkComplete(artifact.cache_key)
+ elif job.name == 'cache-request':
+ artifact_names = json.loads(job.arguments)
+
+ url = urlparse.urljoin(cache_server, '/1.0/artifacts')
+ r = requests.post(url, json=artifact_names)
+ print r.json()
+ job.sendWorkComplete(json.dumps(r.json()))