Fix the command-line client/server workflow.
@@ -1907,6 +1907,22 @@ class Chip:
>>> run(steplist=['route', 'dfm'])
Runs the route and dfm steps.
'''
+
+ # Remote workflow: Dispatch the Chip to a remote server for processing.
+ if self.get('remote', 'addr'):
+ # Pre-process: Run an 'import' stage locally, and upload the
+ # in-progress build directory to the remote server.
+ # Data is encrypted if user / key were specified.
+ # run remote process
+ remote_preprocess(self)
+
+ # Run the async 'remote_run' method.
+ asyncio.get_event_loop().run_until_complete(remote_run(self))
+
+ # Fetch results (and delete the job's data from the server).
+ fetch_results(self)
+
+ else:
manager = multiprocessing.Manager()
error = manager.dict()
active = manager.dict()
@@ -1977,22 +1993,6 @@ class Chip:
except:
pass
- # Remote workflow: Dispatch the Chip to a remote server for processing.
- if self.get('remote', 'addr'):
- # Pre-process: Run an 'import' stage locally, and upload the
- # in-progress build directory to the remote server.
- # Data is encrypted if user / key were specified.
- # run remote process
- active['import0'] = 1
- remote_preprocess(self)
- active['import0'] = 0
-
- # Run the async 'remote_run' method.
- asyncio.get_event_loop().run_until_complete(remote_run(self))
-
- # Fetch results (and delete the job's data from the server).
- fetch_results(self)
- else:
if self.get('remote', 'key'):
# Decrypt the job's data for processing.
client_decrypt(self)
