+ elapsed = time.time() - ts
+ elapsed_py = elapsed - elapsed_job - elapsed_tasks
+ logger.info('(%.3f) JOB = %s (%.3f), TASKS = %d (%.3f), TIME = %.3f',
+ elapsed, job.job_id, elapsed_job, job.tasks.count(), elapsed_tasks, elapsed_py)
+
+
+def submit(obj, proxy):
+ ts = time.time()
+ QCG.start()
+ cred = Credential(proxy)
+
+ jts = time.time()
+ result = obj.submit(cred)
+ elapsed_submit = time.time() - jts
+
+ elapsed = time.time() - ts
+ elapsed_py = elapsed - elapsed_submit
+ logger.info('(%.3f) JOB = %s, REMOTE = %.3f, LOCAL = %.3f', elapsed, result.job_id, elapsed_submit, elapsed_py)
+
+ return result
+
+
+def cancel(obj, proxy):
+ ts = time.time()