def updateHandler(self): if self.handler is None: from staging import stagingRegistry self.handler = stagingRegistry.getInstance( configuration.CDAS_STAGING ) if self.handler is None: wpsLog.warning( " Staging method not configured. Running locally on wps server. " ) self.handler = stagingRegistry.getInstance( 'local' )
def execute(self): try: data = loadValue( self.data ) region = loadValue( self.region ) operation = loadValue( self.operation ) wpsLog.debug( " $$$ CDAS Process: DataIn='%s', Domain='%s', Operation='%s' " % ( str( data ), str( region ), str( operation ) ) ) t0 = time.time() handler = stagingRegistry.getInstance( settings.CDAS_STAGING ) if handler is None: wpsLog.warning( " Staging method not configured. Running locally on wps server. " ) handler = stagingRegistry.getInstance( 'local' ) result_obj = handler.execute( { 'data':data, 'region':region, 'operation':operation, 'engine': settings.CDAS_COMPUTE_ENGINE } ) self.result.setValue( json.dumps( result_obj ) ) except Exception, err: wpsLog.debug( "Exception executing CDAS process:\n " + traceback.format_exc() ) self.result.setValue( '' )
def cdas(): task_run_args = get_request_datainputs() data = task_run_args['data'] region = task_run_args['region'] operation = task_run_args['operation'] wpsLog.debug( " $$$ CDAS Process: DataIn='%s', Domain='%s', Operation='%s', ---> Time=%.3f " % ( str( data ), str( region ), str( operation ), time.time() ) ) t0 = time.time() handler = stagingRegistry.getInstance( configuration.CDAS_STAGING ) if handler is None: wpsLog.warning( " Staging method not configured. Running locally on wps server. " ) handler = stagingRegistry.getInstance( 'local' ) result_obj = handler.execute( { 'data':data, 'region':region, 'operation':operation, 'engine': configuration.CDAS_COMPUTE_ENGINE + "Engine" } ) wpsLog.debug( " $$$*** CDAS Process (response time: %.3f sec):\n Result='%s' " % ( (time.time()-t0), str(result_obj) ) ) result_json = json.dumps( result_obj ) # resp = flask.make_response( json.dumps(result), 200 ) return result_json
from wps import settings from staging import stagingRegistry import time, json handler = stagingRegistry.getInstance( settings.CDAS_STAGING ) if handler is None: print " Staging method not configured. Using celery. " handler = stagingRegistry.getInstance( 'celery' ) data = {'url': '/att/nobackup/tpmaxwel/data/MERRA2_100.instM_3d_asm_Np.xml', 'id': 'U', 'start': 1991 } #data = {'url': '/usr/local/web/data/MERRA/u750/merra_u750.xml', 'id': 'u', 'start': 1979} region = {'latitude': -40.0, 'longitude': 50.0} operation='timeseries' t0 = time.time() print " Running handler %s with engine %s. " % ( settings.CDAS_STAGING, settings.CDAS_COMPUTE_ENGINE ) result = handler.execute( { 'data':data, 'region':region, 'operation':operation, 'engine': settings.CDAS_COMPUTE_ENGINE } ) result_json = json.dumps( result ) t1 = time.time() print " $$$ CDAS Process (response time: %.3f sec): Result='%s' " % ( (t1-t0), str( result_json ))