Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Unified Diff: client/example/3_swarming_trigger_collect.py

Issue 1337633002: Reapply "Isolated task support in Endpoints API: client side (3/3)" and fixes" (Closed) Base URL: git@github.com:luci/luci-py.git@master
Patch Set: Final fixes Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « client/example/2_swarming_run_auto_upload.py ('k') | client/example/4_swarming_run_manual_upload.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: client/example/3_swarming_trigger_collect.py
diff --git a/client/example/3_swarming_trigger_collect.py b/client/example/3_swarming_trigger_collect.py
index 75b7a3bea0af6b255212a7fed2771cee6a77288d..99c735fd1262766a89c69f67095e9d172b6ad0aa 100755
--- a/client/example/3_swarming_trigger_collect.py
+++ b/client/example/3_swarming_trigger_collect.py
@@ -8,9 +8,11 @@ slave.
It compiles and archives via 'isolate.py archive', then discard the local files.
After, it triggers and finally collects the results.
+
+Creates 2 shards and instructs the script to produce a file in the output
+directory.
"""
-import hashlib
import os
import shutil
import subprocess
@@ -27,24 +29,8 @@ def main():
try:
tempdir = tempfile.mkdtemp(prefix=u'hello_world')
try:
- # All the files are put in a temporary directory. This is optional and
- # simply done so the current directory doesn't have the following files
- # created:
- # - hello_world.isolated
- # - hello_world.isolated.state
- isolated = os.path.join(tempdir, 'hello_world.isolated')
- common.note('Archiving to %s' % options.isolate_server)
- common.run(
- [
- 'isolate.py',
- 'archive',
- '--isolate', os.path.join('payload', 'hello_world.isolate'),
- '--isolated', isolated,
- '--isolate-server', options.isolate_server,
- '--config-variable', 'OS', options.swarming_os,
- ], options.verbose)
- with open(isolated, 'rb') as f:
- hashval = hashlib.sha1(f.read()).hexdigest()
+ _, hashval = common.isolate(
+ tempdir, options.isolate_server, options.swarming_os, options.verbose)
json_file = os.path.join(tempdir, 'task.json')
common.note('Running on %s' % options.swarming)
@@ -57,11 +43,13 @@ def main():
'--task-name', options.task_name,
'--dump-json', json_file,
'--isolated', hashval,
+ '--shards', '2',
]
if options.idempotent:
cmd.append('--idempotent')
if options.priority is not None:
cmd.extend(('--priority', str(options.priority)))
+ cmd.extend(('--', '${ISOLATED_OUTDIR}'))
common.run(cmd, options.verbose)
common.note('Getting results from %s' % options.swarming)
@@ -71,12 +59,19 @@ def main():
'collect',
'--swarming', options.swarming,
'--json', json_file,
+ '--task-output-dir', 'example_result',
], options.verbose)
+ for root, _, files in os.walk('example_result'):
+ for name in files:
+ p = os.path.join(root, name)
+ with open(p, 'rb') as f:
+ print('%s content:' % p)
+ print(f.read())
return 0
finally:
shutil.rmtree(tempdir)
except subprocess.CalledProcessError as e:
- print e.returncode or 1
+ return e.returncode
if __name__ == '__main__':
« no previous file with comments | « client/example/2_swarming_run_auto_upload.py ('k') | client/example/4_swarming_run_manual_upload.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698