Page MenuHomec4science

enterRun.py
No OneTemporary

File Metadata

Created
Thu, Sep 26, 13:34

enterRun.py

#!/usr/bin/env python
import BlackDynamite as BD
import subprocess,os,sys
################################################################
parser = BD.BDParser()
parser.register_params(group="getRunInfo",
params={"run_id":int, "order":str},
help={"run_id":"Select a run_id for switching to it"})
params = parser.parseBDParameters()
mybase = BD.Base(**params)
if 'run_id' in params:
params['run_constraints'] = ['id = {0}'.format(params['run_id'])]
try: del params['job_constraints']
except: pass
runSelector = BD.RunSelector(mybase)
run_list = runSelector.selectRuns(params,params,quiet=True)
mybase.close()
if (len(run_list) == 0):
print ("no run found")
sys.exit(1)
run,job = run_list[0]
run_id = run['id']
separator = '-'*30
print separator
print "JOB INFO"
print separator
print job
print separator
print "RUN INFO"
print separator
print run
print separator
print "LOGGING TO '{0}'".format(run['machine_name'])
print separator
if run['state'] == 'CREATED':
print "Cannot enter run: not yet started"
sys.exit(-1)
bashrc_filename = os.path.join('/tmp','bashrc.user{0}.study{1}.run{2}'.format(params['user'],params['study'],run_id))
bashrc = open(bashrc_filename,'w')
bashrc.write('export PS1="\\u@\\h:<{0}|RUN-{1}> $ "\n'.format(params['study'],run_id))
bashrc.write('cd {0}\n'.format(run['run_path']))
bashrc.write('echo ' + separator)
bashrc.close()
subprocess.call('scp -q {0} {1}:{0}'.format(bashrc_filename,run['machine_name']),shell=True)
command_login = 'ssh -X -A -t {0} "bash --rcfile {1} -i"'.format(run['machine_name'],bashrc_filename)
#print command_login
subprocess.call(command_login,shell=True)

Event Timeline