#!/usr/bin/env python #----------------------------------# # -- Author: V. Garonne # -- Mail: garonne@lal.in2p3.fr # -- Date: 08/25/2006 # -- Name: tbroadcast # -- Description: main program #----------------------------------# import os import sys import string from tbroadcast import Scheduler def usage(): print 'Usage : > tbroadcast [global options] []' print '# command :' print '# : command to execute' print '# global options :' print '# -check : Check execution (deadlocks)' print '# -f= : Input file' print '# -help : Print help' print '# -local : ' print '# -ignore_cycles : ' print '# -nb= : Total number of threads' print '# -output= : Output directory to store output files with the form _output.log' print '# -error= : Output directory to store error output with the form _error.log' print '# -print : Print dependency graph' print '# -test : Simulate execution' if __name__ == '__main__': # Default options num_worker = 20 command = '' test = False check = False print_graph = False local = False ignore_cycles = False silent = False output = None error = None file = None for arg in sys.argv[1:len(sys.argv)]: if arg[0]=='-': option = string.split(arg,'=')[0] if option == '-nb': num_worker = int (string.split(arg,'=')[1]) if option == '-f': file = string.split(arg,'=')[1] if option == '-output': output = string.split(arg,'=')[1] if option == '-error': error = string.split(arg,'=')[1] if option == '-local': local= True if option == '-ignore_cycles': ignore_cycles = True if option == '-silent': silent = True if option == '-help': usage() sys.exit(-1) if option == '-test': test = True elif option == '-check': check = True elif option == '-print': print_graph = True else: command = arg master = Scheduler (num_workers=num_worker, file=file, ignore_cycles=ignore_cycles, local=local, output=output, error=error, silent=silent) if test: master.simulate_execution() elif check: master.check_execution (package=master.get_current_package()) elif print_graph: master.print_dependencies () else: master.execute_all (command) sys.exit(-1); #--------- EoF --------#