def rungedemo(flags, input_data): master = None results = None # This section constructs the master, and does not depend on # the input_data from the web interface. try: master = mureilbuilder.build_master(flags) except mureilexception.MureilException as me: handle_exception(me) # master.run(input_data) completes all the processing required # on a single request, with output into the 'results' variable. # A server-type setup where the master was only constructed once # (and hence the timeseries data read in only once) would call # results = master.run(input_data) for each request. if master: try: results = master.run(input_data) except mureilexception.MureilException as me: handle_exception(me) except Exception as me: logger.critical('Execution stopped on unhandled exception', exc_info=me) finally: master.finalise() return results
def runmureil(flags, extra_data=None): master = None results = None try: master = mureilbuilder.build_master(flags, extra_data) except mureilexception.MureilException as me: handle_exception(me) if master: try: results = master.run() except mureilexception.MureilException as me: handle_exception(me) except Exception as me: logger.critical('Execution stopped on unhandled exception', exc_info=me) finally: master.finalise() return results