diff options
Diffstat (limited to 'gear/worker.py')
-rw-r--r-- | gear/worker.py | 14 |
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())) |