diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2016-07-04 11:01:11 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2016-07-04 11:01:11 -0400 |
commit | 1a7065f614ecf05512ec4b93cb960e9ed2a6d7ee (patch) | |
tree | de4c6006980e1a1f7fc6853816c5b6ec501d1929 /steuermann/run.py | |
parent | c38ecd205329fcc1f6056684e74f2349bde503bd (diff) | |
download | steuermann-1a7065f614ecf05512ec4b93cb960e9ed2a6d7ee.tar.gz |
Add STEUERMANN_DEBUG env variable; Remove "with" usage, because it does not work in this context
Diffstat (limited to 'steuermann/run.py')
-rw-r--r-- | steuermann/run.py | 63 |
1 files changed, 35 insertions, 28 deletions
diff --git a/steuermann/run.py b/steuermann/run.py index c90a40a..2cde419 100644 --- a/steuermann/run.py +++ b/steuermann/run.py @@ -20,7 +20,7 @@ on process exit. # # When the process finishes, release the resource reservation. # - +from __future__ import print_function import subprocess import time import datetime @@ -47,6 +47,13 @@ def config_yes_no(d,which) : debug=0 +if 'STEUERMANN_DEBUG' in os.environ: + try: + debug = int(os.environ['STEUERMANN_DEBUG']) + except ValueError: + print('STEUERMANN_DEBUG expects an integer value', file=sys.stderr) + exit(1) + ##### class struct : @@ -206,35 +213,35 @@ class runner(object): raise # open the log file, write initial notes - with open(logfile_name,"w") as logfile: - logfile.write('%s %s\n'%(datetime.datetime.now(),run)) - logfile.flush() - - # debug - just say the name of the node we would run - - if ( no_run ) : - run = [ 'echo', 'disable run - node=', node.name ] - - # start running the process - if debug : - print("RUN",run) - p = subprocess.Popen( - args=run, - stdout=logfile, - stderr=subprocess.STDOUT, - shell=False, close_fds=True - ) + logfile = open(logfile_name, "w") + logfile.write('%s %s\n'%(datetime.datetime.now(),run)) + logfile.flush() + + # debug - just say the name of the node we would run + + if ( no_run ) : + run = [ 'echo', 'disable run - node=', node.name ] + + # start running the process + if debug : + print("RUN",run) + p = subprocess.Popen( + args=run, + stdout=logfile, + stderr=subprocess.STDOUT, + shell=False, close_fds=True + ) - # remember the popen object for the process; remember the open log file - n = struct() - n.proc = p - n.logfile = logfile - n.logfile_name = logfile_name + # remember the popen object for the process; remember the open log file + n = struct() + n.proc = p + n.logfile = logfile + n.logfile_name = logfile_name - # remember the process is running - self.all_procs[node.name] = n + # remember the process is running + self.all_procs[node.name] = n - return 'R' + return 'R' except Exception as e : log_traceback() @@ -258,7 +265,7 @@ class runner(object): if debug : hostname = args['hostname'] - print("finish %s %s %d"%(hostname,node_name,n)) + print("finish %s %s"%(hostname,node_name)) # note the termination of the process at the end of the log file logfile = self.all_procs[node_name].logfile |