A simple python api and demo for running adams jobs on Rescale
- Submit jobs
- Monitor jobs
- Download results
Lines 1 to 43 in 6c22521
import os | |
import time | |
import json | |
from rescalesim.rescalesim import Session | |
# Get the authorization token key | |
with open('config.json') as fid: | |
config = json.load(fid) | |
acf_file = os.path.join('rescale_analysis.acf') | |
adm_file = os.path.join('rescale_analysis.adm') | |
# Create a rescale session | |
session = Session(config['api_token'], config['licensing']) | |
job_results = session.get_job_details('CjmxEc') | |
core_types = session.get_core_types() | |
# job_id = 'xbMTEc' | |
# Create the job | |
job_id = session.create_adams_solver_job('api_test_job', acf_file=acf_file, adm_file=adm_file) | |
# Submit the job | |
response = session.submit_job(job_id) | |
# Monitor job status | |
while True: | |
status = session.get_job_status(job_id)[0]['status'] | |
print(status) | |
if status == 'Completed': | |
break | |
time.sleep(5) | |
# List the results | |
results = session.list_job_results(job_id) | |
# Download the results files | |
os.makedirs(os.path.join('downloaded_results', job_id)) | |
for file in session.list_job_results_files(job_id): | |
(filename, file_id) = [(k, v) for k,v in file.items()][0] | |
dst = os.path.join('downloaded_results', job_id, filename) | |
session.download_file(file_id, dst) |